Die vollständige Herausforderung von Stack Developer von Unstop
Problemanweisung
- Es gibt 80 Plätze in einem Trainer eines Zuges mit nur 7 Sitzplätzen in Folge und der letzten Reihe von nur 3 Sitzplätzen. Der Einfachheit halber gibt es in diesem Zug nur einen Trainer.
- Eine Person kann jeweils bis zu 7 Sitze reservieren.
- Wenn die Person Sitze reserviert, besteht die Priorität darin, sie in einer Reihe zu buchen.
- Wenn Sitze in einer Reihe nicht verfügbar sind, sollte die Buchung so erfolgen, dass die nahe gelegenen Sitze gebucht werden.
Lösung
- Das Problemszenario beinhaltet einen Trainer mit 80 Sitzen, die in Reihen arrangiert sind. Jeder Sitz kann sich in einem von zwei Zuständen befinden: leer ('0') oder gebucht ('1'). Der Sitzstatus wird durch eine Zeichenfolge mit dem Namen "All_Seats" mit einer Länge von 80 dargestellt.
- Um den Sitzstatus zu bestehen, wird die Zeichenfolge "All_Seats" in einer Datenbank gespeichert. Dadurch kann das Programm die Änderungen an den Sitzreservierungen speichern.
- Logik im Code, ARESEATSAPALABLE () -Funktion prüft, ob eine bestimmte Zeile einen aufeinanderfolgenden Block mit leeren Sitzen aufweist, die eine bestimmte Anzahl von Sitzen aufnehmen können. Es dauert eine Reihe von Sitzen ($ row) und die gewünschte Anzahl von Sitzen, die reserviert werden sollen ($ numseats)
- Die Reserveats () -Funktion ist für die Reservierung von Sitzen im Trainer verantwortlich. Es dauert zwei Parameter: das Coach Array ($ Coach) und die gewünschte Anzahl von Sitzen, die reserviert werden sollen ($ numseats).
- Durch das Speichern der String "All_Seats" in einer Datenbank können die Sitzreservierungen in verschiedenen Programmläufen bestehen. Auf diese Weise kann das Programm auch nach dem Neustart oder Schließen der Anwendung den neuesten Sitzstatus beibehalten.
So führen Sie die Anwendung aus
- Laden Sie den Projektzeig aus dem GitHub herunter [https://github.com/kunalpandharkar/unstop-chalenge]
- Installieren Sie alle Projektabhängigkeiten, indem Sie den Befehl ausführen
- Richten Sie die Umgebungsdatei ein. Kopieren Sie die Datei * .env.example in .Env im Projektroot.
- Aktualisieren Sie die .Env -Datei mit den entsprechenden Konfigurationsdetails (Datenbankeinstellungen usw.) für Ihre lokale Umgebung.
- Generieren Sie einen Anwendungsschlüssel:
- Starten Sie den XAMPP -Server. [Mysql]
- Datenbankmigrationen ausführen:
php artisan migrate:fresh
- * Sehr wichtig: Datenbank -Säator, der die Zeichenfolge mit einer Länge von 80 in der Tabelle einfügt.
- Führen Sie die Anwendung aus:
Dateien, die im Projekt verwendet werden
app/Http/Controllers/TicketBookingController
database/migrations/
database/seeders/TicketbookingSeeder
resources/views/welcome.blade.php
resources/views/ticket-info.blade.php
routes/web.php
Über mich
Voller Stack -Webentwickler mit der Erfahrung mit der Entwicklung und Bereitstellung erfolgreicher Projekte gemäß den Kundenanforderungen und -spezifikationen und der Suche nach einer herausfordernden Rolle in der seriösen Organisation, um meine Fähigkeiten zu nutzen
? Links