منصوبے کے بارے میں

Runique ایک Rust ویب فریم ورک ہے جو Django-style کی پیداواری صلاحیت کو Rust ایپلی کیشنز میں لانے کے لیے ڈیزائن کیا گیا ہے، جبکہ قسم کی حفاظت اور کارکردگی کو برقرار رکھا گیا ہے۔ یہ Axum، SeaORM، اور Tera پر بنائی گئی ہے، اور اعلاناتی میکروز اور مربوط کنونشنز کے ذریعے boilerplate کو کم کرنے پر توجہ مرکوز کرتا ہے۔ مرکزی crate، runique، کور فریم ورک ہے، جبکہ repository میں ایک ڈیمو ایپلیکیشن بھی شامل ہے جو فریم ورک کو validate کرنے کے لیے استعمال ہوتی ہے، اور انگریزی اور فرانسیسی میں دو لسانی دستاویزات شامل ہیں۔ فریم ورک کا مرکز model! میکرو ہے، جو ایک ماڈل کو ایک بار اعلان کرتا ہے اور اس کے لیے corresponding SeaORM entity اور SQL migration تیار کرتا ہے۔ ایک ماڈل کو #[form] attribute کے ساتھ جوڑنے سے ایک matching type-safe form تیار ہوتا ہے جو server-side پر validate ہوتا ہے۔ ایک admin! میکرو میں ریسورس کو رجسٹر کرنے سے ایک CRUD ایڈمن پینل تیار ہوتا ہے جس میں list views، search، filters، اور permissions شامل ہیں۔ روٹنگ کا خیال urlpatterns! میکرو کے ذریعے رکھا جاتا ہے، جو ایک regular Axum Router تیار کرتا ہے، جبکہ templates میں auto-escaping کے ساتھ Tera استعمال ہوتا ہے۔ Runique میں کئی default سیکیورٹی اقدامات شامل ہیں، جیسے constant-time CSRF token comparison، per-response Content Security Policy nonces، timing-safe login handling، Argon2 password hashing، database-backed sessions، hashed single-use password reset tokens، اور ammonia کے ساتھ output sanitization۔ یہ ایک CLI بھی فراہم کرتا ہے جس میں عام کاموں کے لیے کمانڈز شامل ہیں، جیسے ایک نیا پروجیکٹ بنانا، ایڈمن کوڈ تیار کرنا، ایک superuser بنانا، مائیگریشنز بنانا، اور مائیگریشنز کو apply یا rollback کرنا۔ ایڈمن پینل کو beta کے طور پر بیان کیا گیا ہے، جس میں permissions فی الحال زیادہ تر ریسورس کی سطح پر ہیں، اور تیار کردہ ایڈمن کوڈ کو دوبارہ تیار کرنے پر overwrite کیا جاتا ہے۔ پروجیکٹ متعدد ڈیٹا بیس بیک اینڈز کو سپورٹ کرتا ہے، جن میں SQLite، PostgreSQL، MySQL، اور MariaDB شامل ہیں، اور default طور پر all-databases فعال ہیں۔ یہ ایک بڑی test suite کی رپورٹ کرتا ہے اور فریم ورک crate کے لیے coverage metrics فراہم کرتا ہے۔ دستاویزات میں installation، architecture، configuration، routing، forms، models، templates، ORM usage، middleware، flash messages، examples، admin، sessions، اور environment variables شامل ہیں۔ پروجیکٹ MIT لائسنس کے تحت ہے۔