Unstopのフルスタック開発者チャレンジ
問題ステートメント
- 列車のコーチには80席があり、列に7席しかなく、最後の列はわずか3席です。簡単にするために、この列車にはコーチが1人だけです。
- 1人は一度に最大7席を予約できます。
- 人が座席を予約している場合、優先事項は1つの列で予約することです。
- 座席が1つの行で利用できない場合は、近くの座席が予約されるように予約を行う必要があります。
解決
- 問題のシナリオには、列に並べられた80席の列車コーチが含まれます。各シートは、空( '0')または予約( '1')の2つの状態のいずれかにあります。シートステータスは、 80の長さの「all_seats」と呼ばれる文字列で表されます。
- シートステータスを持続するために、文字列「All_Seats」はデータベースに保存されます。これにより、プログラムはシート予約に加えられた変更を保存できます。
- コードのロジック、 AreseatSavaible()関数は、特定の数の座席を収容できる空の座席の連続したブロックがあるかどうかをチェックします。座席の列($ row)と予約する希望の座席数($ numseats)が必要です
- Reserveseats()機能は、列車のコーチの座席を予約する責任があります。 2つのパラメーターが必要です。コーチアレイ($ coach)と、予約する必要のあるシート数($ numseats)です。
- データベースに「all_seats」文字列を保存することにより、シートの予約をさまざまなプログラムの実行にわたって持続できます。これにより、アプリケーションを再起動または閉じた後でも、プログラムは最新のシートステータスを維持できます。
アプリケーションの実行方法
- github [https://github.com/kunalpandharkar/unstop-challengeからプロジェクトzipをダウンロード]
- コマンドを実行して、すべてのプロジェクト依存関係をインストールします
- 環境ファイルをセットアップ * .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
私について
フルスタックWeb開発者は、クライアントの要件と仕様に従って成功したプロジェクトを開発および展開した経験を持ち、評判の良い組織で私のスキルを活用するための挑戦的な役割を探しています
?リンク