Proyecto de Mejora del Bootcamp FemCoders - Grupo Contento
En el marco del bootcamp de desarrollo fullstack de FemCoders, se ha abordado la tarea de optimizar y reestructurar un proyecto previamente creado por:
- https://github.com/genesis-nf
- https://github.com/florienborg
- https://github.com/CindyLeiva
- https://github.com/mgblanco10
Este proyecto original, fue realizado utilizando el patrón Modelo-Vista-Controlador (MVC) en el framework Laravel.
El objetivo central de esta mejora es evolucionar el proyecto monolítico existente hacia una arquitectura de API más flexible y eficiente. Para lograrlo, se han realizado cambios sustanciales tanto en el backend como en el frontend del sistema, con un enfoque en la modularidad, la seguridad y la usabilidad.
Cambios Realizados:
Backend:
- La arquitectura monolítica basada en el patrón MVC ha sido reemplazada por una API RESTful implementada en Laravel.
- Se ha incorporado un sólido sistema de autenticación utilizando tokens, garantizando la seguridad de las interacciones entre los usuarios y la aplicación.
- La funcionalidad CRUD (Crear, Leer, Actualizar, Eliminar) se ha rediseñado y reconfigurado en endpoints de la API, permitiendo una gestión más eficaz de los destinos.
- Se ha implementado el manejo de roles con las bibliotecas Sanctum y Spatie, optimizando la gestión de permisos y accesos.
- Se ha priorizado la creación de un perfil de usuario como tarea de máxima prioridad, donde se puede cambiar la imagen del perfil. Esto garantiza un enfoque claro en las funcionalidades más importantes del sistema.
- Aún en progreso el tema favoritos y la implementación de una galeria donde el usuario puede ver todo lo que el ha cargado y sus favoritos.
Frontend:
- El frontend original ha sido reescrito en React, proporcionando una experiencia de usuario más fluida e interactiva.
- Se ha establecido la comunicación con la API a través de solicitudes HTTP, permitiendo el consumo y manipulación de datos de destino de manera dinámica.
Para utilizar esta nueva versión del proyecto , sigue las instrucciones, para ejecutarlo necesitas tener conocimientos previos sobre como funciona Mamp/Xamp y tener instalado composer.
Instalación del Proyecto Backend Laravel
- Clona el repositorio de Laravel desde GitHut
https://github.com/mgblanco10/happytravel.git
- Abre el proyecto en tu editor de código y en la terminal ingresa al directorio del proyecto
cd laravel
- Instala las dependencias de Composer
composer install
- Crea un archivo .env a partir del archivo .env.example.
- Configura tu base de datos en el archivo .env con la información adecuada, donde debes poner el nombre de tu base de datos previamente creada en mysql y tener claro cual es tu sistema operativo para la instalación.Ejemplo:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=nombre_base_de_datos
DB_USERNAME=nombre_usuario
DB_PASSWORD=contraseña
- Ejecuta las migraciones para crear las tablas de la base de datos
php artisan migrate
- Si deseas ya tener información en tu base de datos te recomendamos hacer uso de los seeders, para eso debes ejecutar el comando
php artisan db:seed
- Inicia el servidor de desarrollo
php artisan serve
Instalación del Proyecto Frontend React
- ingresa al directorio del proyecto
cd react-app
- Instala las dependencias de npm
npm install
- Inicia el proyecto
npm start
- El frontend de React ahora está en funcionamiento y se ejecuta en
http://localhost:3000
Este proyecto es una muestra del proceso de aprendizaje y mejora continua. Si tienes sugerencias para mejoras adicionales o encuentras problemas, no dudes en abrir un issue o enviar una pull request. Tu contribución es valiosa para nosotros.
Yana Tolstobrova |
Rosa Pedret |
Cindy Leiva |
Neema Shedevops |
Mónica Blanco |
Génesis Núñez |
---|