Unstop的完整堆棧開發人員挑戰
問題陳述
- 一名火車教練有80個席位,連續僅有7個席位,最後一排只有3個座位。為簡單起見,這列火車中只有一名教練。
- 一個人一次最多可以預留7個席位。
- 如果人保留席位,則優先考慮將它們一排預訂。
- 如果一排沒有座位,則應以預訂附近的座位進行預訂。
解決方案
- 問題場景涉及一名有80個座位的火車教練,排成一行。每個座位可以在兩個狀態之一中:空('0')或已預訂('1')。座椅狀態由一個稱為“ all_seats”的字符串表示,長度為80 。
- 為了堅持座椅狀態,字符串“ all_seats”存儲在數據庫中。這使程序可以保存對座位預訂的更改。
- 代碼中的邏輯, AreseatSavailable()函數檢查給定的行是否有一個可以容納特定數量座位的空座位的連續塊。它需要一排座位($ row)和所需的座位要保留($ numseats)
- Reserveseats()功能負責在火車教練中保留座位。它需要兩個參數:教練陣列($ coach)和所需的保留座位($ numseats)。
- 通過將“ all_seats”字符串存儲在數據庫中,可以在不同的程序運行中堅持座椅預留。這允許該程序即使在重新啟動或關閉應用程序後仍可以保持最新的座位狀態。
如何運行申請
- 從github下載項目zip [https://github.com/kunalpandharkar/unstop-challenge]
- 通過運行命令安裝所有項目依賴項
- 設置環境文件將 * .env.example文件複製到項目root中的.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
關於我
完整的堆棧Web開發人員具有根據客戶需求和規格來開發和部署成功項目的經驗,在知名的組織中尋求具有挑戰性的角色來利用我的技能
?鏈接