تحدي مطور المكدس الكامل لـ UNNOP
بيان المشكلة
- هناك 80 مقعدًا في مدرب قطار مع 7 مقاعد فقط على التوالي والصف الأخير من 3 مقاعد فقط. للبساطة ، لا يوجد سوى مدرب واحد في هذا القطار.
- يمكن لشخص واحد حجز ما يصل إلى 7 مقاعد في وقت واحد.
- إذا كان الشخص يحفظ المقاعد ، فستكون الأولوية لحجزها في صف واحد.
- إذا لم تكن المقاعد متوفرة في صف واحد ، فيجب إجراء الحجز بطريقة يتم حجز المقاعد القريبة.
حل
- يتضمن سيناريو المشكلة مدربًا للقطار مع 80 مقعدًا ، مرتبة في صفوف. يمكن أن يكون كل مقعد في إحدى دولتين: فارغة ('0') أو حجز ('1'). يتم تمثيل حالة المقعد بسلسلة تسمى "all_seats" بطول 80 .
- لاستمرار حالة المقعد ، يتم تخزين السلسلة "all_seats" في قاعدة بيانات. هذا يسمح للبرنامج بحفظ التغييرات التي تم إجراؤها على تحفظات المقعد.
- من منطق الكود ، يتحقق AreseAtSavailable () من الدالة إذا كان هناك صف معين يحتوي على كتلة متتالية من المقاعد الفارغة التي يمكن أن تستوعب عدد معين من المقاعد. يستغرق صفًا من المقاعد (صف $) والعدد المطلوب من المقاعد المراد حجزها ($ numSeats)
- وظيفة Ceserneseats () مسؤولة عن الحفاظ على المقاعد في مدرب القطار. يستغرق الأمر معلمتين: صفيف المدرب (مدرب $) والعدد المطلوب من المقاعد المراد حجزها ($ numSeats).
- من خلال تخزين سلسلة "all_seats" في قاعدة بيانات ، يمكن استمرار حجوزات المقعد عبر تشغيل برنامج مختلف. يتيح ذلك للبرنامج الحفاظ على أحدث حالة مقعد حتى بعد إعادة تشغيل التطبيق أو إغلاقه.
كيفية تشغيل التطبيق
- قم بتنزيل Zip Project من github [https://github.com/kunalpandharkar/unstop-challenge]
- تثبيت جميع تبعيات المشروع عن طريق تشغيل الأمر
- قم بإعداد ملف البيئة نسخ ملف * .env.example إلى .env في جذر المشروع.
- قم بتحديث ملف .env مع تفاصيل التكوين المناسبة (إعدادات قاعدة البيانات وما إلى ذلك) لبيئتك المحلية.
- إنشاء مفتاح تطبيق:
- ابدأ خادم XAMPP. [MySQL]
- تشغيل ترحيل قاعدة البيانات:
php artisan migrate:fresh
- * مهم جدًا: بذور قاعدة البيانات التي تدرج السلسلة بطول 80 في الجدول.
الملفات المستخدمة في المشروع
app/Http/Controllers/TicketBookingController
database/migrations/
database/seeders/TicketbookingSeeder
resources/views/welcome.blade.php
resources/views/ticket-info.blade.php
routes/web.php
ْعَنِّي
مطور ويب مكدس كامل يتمتع بخبرة في تطوير ونشر المشاريع الناجحة وفقًا لمتطلبات العميل والمواصفات ، وبحث عن دور صعب في المنظمة ذات السمعة الطيبة لاستخدام مهاراتي
؟ الروابط