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开发人员具有根据客户需求和规格来开发和部署成功项目的经验,在知名的组织中寻求具有挑战性的角色来利用我的技能
?链接