Skip to content
This repository was archived by the owner on Jun 15, 2025. It is now read-only.
/ FoodFlow Public archive

Proyecto de Fin de Ciclo | Álvaro Leiva & Alejandro Barnestein

Notifications You must be signed in to change notification settings

Hisui02/FoodFlow

Repository files navigation

🍽️ FoodFlow

Proyecto de Fin de Ciclo 2º Daw M del CPIFP Alan Turing

🌐 Despliegue

Enlace a la APP

🎬 Vídeo de presentación

Enlace al Vídeo

🗒️ Presentación en PDF

Enlace al Documento

🧾 Descripción

FoodFlow es una innovadora aplicación web de reparto de comida a domicilio que conecta a los usuarios con una amplia variedad de restaurantes locales. La plataforma permite a los usuarios descubrir y pedir sus platos favoritos de manera fácil y eficiente, filtrando por tipo de cocina. Además permite a los repartidores registrarse y gestionar sus entregas, y a los restaurantes gestionar sus pedidos, teniendo así un todo en uno en el reparto de las comidas.

👨‍💻 Autores

🧠 Anteproyecto

📄 Leer anteproyecto en Notion

En este documento se exponen los primeros pasos del desarrollo de FoodFlow, incluyendo el análisis funcional, objetivos del proyecto, tecnologías planteadas, estructura preliminar de base de datos y distribución de tareas.

🖌️ Figma

Ver prototipo en Figma(Alta fidelidad, Baja fidelidad y UI-KIT)

Ver objetivos en Figjam

Ver documentación

🎥 Checkpoint

🎬 Ver presentación en YouTube

En este vídeo mostramos los avances hasta la fecha del 30 de abril, donde se puede ver la estructura de nuestras tablas de usuarios, junto a sus modelos, seeders y factorías, y una primera versión de login completamente funcional para todos ellos.

🛠️ Desarrollo

🔧 Inicialización del entorno
  1. Clonar el repositorio:
    git clone git@github.com:Hisui02/FoodFlow.git
  2. Pegar el archivo .env del proyecto en la carpeta raíz del repositorio
  3. Iniciar el contenedor de base de datos:
    docker compose -f database.yaml up -d
  4. Iniciar el contenedor de la aplicación en modo desarrollo:
    docker compose -f develop.yaml up -d
  5. Conectarse al contenedor de la aplicación:
    docker exec -it foodflow /bin/bash
  6. Poblar la BDD con datos de prueba
    php artisan db:seed
  7. Acceder a la interfaz web en: http://localhost
  8. Si se quiere revisar la aplicación desplegada en un entorno de producción es necesario el archivo .env.production
  9. Iniciar el contenedor de la aplicación en modo producción:
    docker compose -f production.yaml up -d

🎯 Objetivos del Proyecto

  • Facilitar la conexión entre usuarios, restaurantes y repartidores mediante una plataforma centralizada.
  • Implementar autenticación y control de roles (usuario, restaurante, repartidor).
  • Permitir una gestión eficiente de pedidos y entregas.
  • Diseñar una interfaz moderna, rápida y responsiva con ReactJS + Inertia.js.

🧰 Tecnologías Utilizadas

  • Backend: Laravel 12.10.1
  • Frontend: ReactJS + Inertia.js
  • Base de datos: MariaDB
  • ORM: Eloquent
  • Estilos: TailwindCSS + ShadCN UI
  • Contenedores: Docker, Docker Compose
  • Herramientas: Vite, GitHub, Notion, Visual Studio Code, DBeaver, Composer

🗂️ Esquema E/R

Esquema ER

⚠️ Nota: Este diagrama se encuentra sujeto a cambios según avancemos con el desarrollo de la aplicación

📆 Bitácora de Tareas

Click para desplegar
Fecha Tarea Responsable
21/04 Base de datos, refactorización de los docker composes y guía de desarrollo Álvaro Leiva García
23/04 Repartidor Álvaro Leiva García
24/04 Restaurante Álvaro Leiva García
25/04 Usuario Álvaro Leiva García
29/04 Login repartior + dashboard Alejandro Barnestein Martos
30/04 Login restaurante + dashboard Alejandro Barnestein Martos
30/04 Login usuario + dashboard Alejandro Barnestein Martos
30/04 Actualizar README Álvaro Leiva García
30/04 Crear vídeo checkpoint y actualizar enlace en el readme Alejandro Barnestein Martos
06/05 Pedido, Líneas de pedido y estados de pedidos Álvaro Leiva García
06/05 Desarrollo del diseño del wireframe de baja calidad - Logins, Registros, Dashboards de Administrador, repartidor y parte de usuario - Figma Alejandro Barnestein Martos
07/05 Refactorizaciones leves de dockerfile y docker-compose Álvaro Leiva García
08/05 Limpieza tras refactorizar y migraciones automáticas Álvaro Leiva García
08/05 Desarrollo del diseño del wireframe de baja calidad - Terminado todo el wireframe - Figma Alejandro Barnestein Martos
11/05 Diseño de la landing page Álvaro Leiva García
11/05 Creación de la página de registro del usuario Alejandro Barnestein Martos
14/05 Despliegue de la primera versión de la aplicación Álvaro Leiva García
14/05 Diseño y maquetación de la página de registro del usuario Alejandro Barnestein Martos
15/05 Correcciones del despligue y optimizaciones varias Álvaro Leiva García
19/05 Creación de la página de registro del Restaurante y del Repartidor y maquetación del estilado, Wireframe de alta calidad de varias páginas Alejandro Barnestein Martos
21/05 Primera versión del dashboard de un usuario Álvaro Leiva García
22/05 Estilado y maquetación de las páginas de Login y Register de los distintos perfiles de la web, creación de la navegación entre ellos Alejandro Barnestein Martos
26/05 Dashboard de un usuario completa Álvaro Leiva García
26/05 Completa refacctorización de la estructura de Docker Álvaro Leiva García
27/05 Diseño principal de la creación de un pedido, sin lógica Álvaro Leiva García
27/05 Lógica del dashboard de un repartidor y página para ver el pedido Alejandro Barnestein Martos
28/05 Refactorizaciones de pedidos en BDD y lógica para crear un pedido Álvaro Leiva García
28/05 Añadido cambios a la lógica con las refactorizaciones de la BBDD y muestra cantidad de plato al ver pedido Alejandro Barnestein Martos
29/05 Edición del register de usuario para subir una foto al storage privado de laravel Alejandro Barnestein Martos
30/05 Página de administrador y completado CRUD de usuarios Álvaro Leiva García
03/06 Logica del dashboard de repartidor, control del estado del pedido y actualizaciones en la bbdd. Cambios en la bbdd Alejandro Barnestein Martos
04/06 Creado Layout de la aplicacion y aplicado a la interfaz de usuario y de repartidor Álvaro Leiva García
05/06 Creada página de feedback de un pedido al usuario y añadido layout a la página de un restaurante Álvaro Leiva García
05/06 Diseño y terminar lógica del dashboard y ver-pedido de Pedidos Alejandro Barnestein Martos
06/06 Diseño y terminar lógica del dashboard de restaurante. Local Storage del login de usuario Alejandro Barnestein Martos
11/06 Corrección filtrado pedidos en restaurante y alta fidelidad repartidor y restaurante Álvaro Leiva García
11/06 Correción de errores de estilo y rutas Alejandro Barnestein Martos
12/06 Realización de la documentación del estilo Alejandro Barnestein Martos
13/06 Realización de la documentación del estilo Alejandro Barnestein Martos
13/06 Realización de la documentación del estilo Álvaro Leiva García

📚 Bibliografía

About

Proyecto de Fin de Ciclo | Álvaro Leiva & Alejandro Barnestein

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •