Desafío de desarrollador de pila completa de Unstop
Declaración del problema
- Hay 80 asientos en un entrenador de un tren con solo 7 asientos seguidos y la última fila de solo 3 asientos. Para simplificar, solo hay un entrenador en este tren.
- Una persona puede reservar hasta 7 asientos a la vez.
- Si la persona está reservando asientos, la prioridad será reservarlos en una fila.
- Si los asientos no están disponibles en una fila, la reserva debe hacerse de tal manera que se reserven los asientos cercanos.
Solución
- El escenario de problemas involucra a un entrenador de trenes con 80 asientos, organizado en filas. Cada asiento puede estar en uno de los dos estados: vacío ('0') o reservado ('1'). El estado del asiento está representado por una cadena llamada "All_Seats" con una longitud de 80 .
- Para persistir el estado del asiento, la cadena "all_seats" se almacena en una base de datos. Esto permite que el programa guarde los cambios realizados en las reservas de asientos.
- El código de lógica en el código, ARESEATSAVAILABLE () verifica la función si una fila dada tiene un bloque consecutivo de asientos vacíos que pueden acomodar un número específico de asientos. Se necesita una fila de asientos ($ fila) y el número deseado de asientos para reservar ($ numseats)
- La función Reserveseats () es responsable de reservar asientos en el entrenador del tren. Se necesitan dos parámetros: la matriz de entrenadores ($ entrenador) y el número deseado de asientos para reservar ($ numseats).
- Al almacenar la cadena "All_seats" en una base de datos, las reservas de asientos se pueden persistir en diferentes ejecuciones de programa. Esto permite que el programa mantenga el último estado del asiento incluso después de reiniciar o cerrar la aplicación.
Cómo ejecutar la aplicación
- Descargue el Proyecto Zip del GitHub [https://github.com/kunalpandharkar/unstop-challenge]
- Instale todas las dependencias del proyecto ejecutando el comando
- Configure el archivo de entorno Copiar el archivo * .env.example a .env en la raíz del proyecto.
- Actualice el archivo .env con los detalles de configuración apropiados (configuración de la base de datos, etc.) para su entorno local.
- Generar una clave de aplicación:
- Inicie el servidor XAMPP. [Mysql]
- Ejecutar migraciones de bases de datos:
php artisan migrate:fresh
- * Muy importante: sembrador de base de datos que inserta la cadena con longitud de 80 en la tabla.
Archivos utilizados en el proyecto
app/Http/Controllers/TicketBookingController
database/migrations/
database/seeders/TicketbookingSeeder
resources/views/welcome.blade.php
resources/views/ticket-info.blade.php
routes/web.php
Acerca de mí
Desarrollador web de pila completa que tiene una experiencia de desarrollar e implementar proyectos exitosos según los requisitos y especificaciones del cliente, buscando un papel desafiante en la organización acreditada para utilizar mis habilidades
? Campo de golf