Tantangan Pengembang Tumpukan Penuh UNNOM
Pernyataan masalah
- Ada 80 kursi di pelatih kereta dengan hanya 7 kursi berturut -turut dan baris terakhir hanya 3 kursi. Untuk kesederhanaan, hanya ada satu pelatih di kereta ini.
- Satu orang dapat memesan hingga 7 kursi sekaligus.
- Jika orang memesan kursi, prioritasnya adalah memesannya dalam satu baris.
- Jika kursi tidak tersedia dalam satu baris maka pemesanan harus dilakukan sedemikian rupa sehingga kursi terdekat dipesan.
Larutan
- Skenario masalah melibatkan pelatih kereta api dengan 80 kursi, diatur dalam barisan. Setiap kursi dapat berada di salah satu dari dua negara bagian: kosong ('0') atau dipesan ('1'). Status kursi diwakili oleh string yang disebut "all_seats" dengan panjang 80 .
- Untuk bertahan status kursi, string "all_seats" disimpan dalam database. Ini memungkinkan program untuk menyimpan perubahan yang dilakukan pada reservasi kursi.
- Logika dalam kode, areseatsavailable () Fungsi memeriksa apakah baris yang diberikan memiliki blok kursi kosong berturut -turut yang dapat mengakomodasi sejumlah kursi tertentu. Dibutuhkan barisan kursi ($ baris) dan jumlah kursi yang diinginkan untuk dipesan ($ numseats)
- Fungsi reserveseats () bertanggung jawab untuk memesan kursi di pelatih kereta. Dibutuhkan dua parameter: The Coach Array ($ Coach) dan jumlah kursi yang diinginkan untuk dicadangkan ($ numseats).
- Dengan menyimpan string "all_seats" dalam database, reservasi kursi dapat bertahan di berbagai program berjalan. Ini memungkinkan program untuk mempertahankan status kursi terbaru bahkan setelah memulai kembali atau menutup aplikasi.
Cara menjalankan aplikasi
- Unduh zip proyek dari github [https://github.com/kunalpandharkar/unstop-challenge]
- Instal semua dependensi proyek dengan menjalankan perintah
- Atur file lingkungan Salin file * .env.example ke .env di root proyek.
- Perbarui file .env dengan detail konfigurasi yang sesuai (pengaturan database dll.) Untuk lingkungan lokal Anda.
- Menghasilkan kunci aplikasi:
- Mulai server XAMPP. [Mysql]
- Jalankan migrasi basis data:
php artisan migrate:fresh
- * Sangat penting: seeder basis data yang menyisipkan string dengan panjang 80 dalam tabel.
File yang digunakan dalam proyek
app/Http/Controllers/TicketBookingController
database/migrations/
database/seeders/TicketbookingSeeder
resources/views/welcome.blade.php
resources/views/ticket-info.blade.php
routes/web.php
Tentang saya
Pengembang Web Stack Penuh Memiliki Pengalaman Mengembangkan dan Menyebarkan Proyek Sukses Sesuai Persyaratan dan Spesifikasi Klien, Mencari Peran Menantang dalam Organisasi Terkenal untuk Memanfaatkan Keterampilan Saya
? Tautan