- Proyecto π
- Diagramas
- InstalaciΓ³n π οΈ
- Estructura del proyecto
- TecnologΓas
- Uso
- ContribuciΓ³n π€
- Codersπ©βπ»
- Demo
Desarrollo de una aplicaciΓ³n de viajes en la que cada usuario puede ver, aΓ±adir, editar y eliminar destinos a los que quiere ir, ademΓ‘s de ver los destinos de otros usuarios.
La aplicaciΓ³n permite a los usuarios hacer login, y es a travΓ©s de esta autenticaciΓ³n que tienen acceso a editar y eliminar sus destinos creados.
En el proyecto se ha creado tanto la parte del Front on React js con Tailwind para el CSS partiendo de prototipos dados por el cliente, como toda la parte del Back con Java SpringBoot y PostgreSQL.
Funcionalidades
- Poder ver todos los destinos
- Formulario de registro
- Formulario de acceso con e-mail y contraseΓ±a
- Al acceder, el usuario autenticado ve los botones de editar y eliminar en sus destinos
- Los usuarios regostrados pueden ver el detalle de cada destino
- Todas als acciones del usuario con CRUD o registro/acceso tienen alertas
- Todos los formularios tienen validaciΓ³n y control de errores
- Cambio de iconos en navbar cuando el usuario accese a la app
- Buscador funcional para buscar por nombre de destino o ubicaciΓ³n
- Poder crear destinos
- Poder editar destinos
Para entender la funcionalidad de la aplicaciΓ³n y la lΓ³gica a seguir se ha realizado un diagrama de flujo.
Se ha normalizado a segunda forma las tablas de la base de datos, resultando en dos tablas: una de destinos y una de usuarios.
- Node.js
- VSC con extensiΓ³n Java Pack VSC, IntelliJ or tu IDE de preferencia
- Base de datos
- Clona los repositorios:
Front:
git clone https://github.com/LauraGDev/happy-travel-front
Back:
git clone https://github.com/flaviferri/HappyTravel-BackEnd
-
Haz npm install en el repo del front
-
Crea tu base de datos y conectΓ‘la al repo del back:
pon el link de acceso, tu usuario y contraseΓ±a de pgAdmin o de tu BBDD en el archivo application.resources
Como proyecto Full-Stack, la estructura se divide en Front y en Back.
El back del proyecto se ha realziado con Java SpringBoot, con una arquitectura MVC de 3 capas.
La estructura final del back es la siguiente:
/
βββ happy-travel-back
β βββ src/
β β βββ main
β β β βββ java
β β β β βββ config
β β β β β βββ ApplicationConfig
β β β β β βββ SecurityConfig
β β β β βββ controllers
β β β β β βββ AuthController
β β β β β βββ AuthResponse
β β β β β βββ DestinationController
β β β β β βββ LoginRequest
β β β β β βββ RegisterRequest
β β β β β βββ UserController
β β β β βββ jwt
β β β β β βββ JwtAuthenticationFilter
β β β β βββ models
β β β β β βββ Destination
β β β β β βββ User
β β β β βββ repositories
β β β β β βββ DestinationRepository
β β β β β βββ UserRepository
β β β β βββ role
β β β β β βββ Role
β β β β βββ services
β β β β β βββ AuthService
β β β β β βββ DestinationService
β β β β β βββ JwtService
β β β β βββ HappyTravelApplication
β β β βββ resources
β β β βββ application.properties
β β βββ test
β β βββ HappyTravelApplicationTests
β βββ target
β βββ .mvn
βββ .gitignore
βββ mvnw
βββ mvnw.cmd
βββ pom.xml
βββ README.md
Front
Back
El programa debe iniciarse primero en el back.
Para compilar:
Da al play para compilar automΓ‘ticamente.
Una vez iniciado el back, en el front:
npm run dev
Abre el enlace que aparece con tu puerto local.
- Haz un fork al repositorio.
- Crea una nueva rama:
git checkout -b feature/name. - Haz tus cambios.
- Haz push de tu rama:
git push origin feature/name. - Crea un pull request.
Las coders que hemos trabajado en este proyecto somos:
VersiΓ³n mΓ³vil:
happytravel-mobile.1.mp4
VersiΓ³n desktop: