Initial commit
This commit is contained in:
100
README.md
Normal file
100
README.md
Normal file
@@ -0,0 +1,100 @@
|
||||
# evental
|
||||
|
||||
Esta aplicación se ha desarrollado con los frameworks [Spring Boot][] para el backend y [React][] para el frontend.
|
||||
|
||||
La integración de los mismos ha sido facilitada gracias a la herramienta [JHipster][].
|
||||
|
||||
Como entorno de desarrollo se ha utilizado [Intellij IDEA] bajo Windows 10.
|
||||
|
||||
El objetivo final ha sido crear un sistema de gestión de eventos en el que un usuario puede registrarse y dar de alta tanto artistas como recintos, crear eventos combinando las diferentes opciones ofrecidas y, finalmente, permitir que cualquier usuario compre entradas para los mismos.
|
||||
|
||||
## Desarrollo
|
||||
|
||||
Para poder compilar este proyecto es necesario instalar [Node.js][]
|
||||
|
||||
Después de la instalación, ejecutar el siguiente comando en la ruta del proyecto para llevar a cabo el build.
|
||||
|
||||
mvnw
|
||||
|
||||
La finalización con éxito del mismo mostrará un enlace a [http://localhost:8080](http://localhost:8080) para acceder a la aplicación.
|
||||
|
||||
### Entrada al sistema
|
||||
|
||||
Se podrá registrar un usuario desde cero. Para confirmar su cuenta el usuario habrá de activarla desde la dirección que correo que facilite en el registro.
|
||||
|
||||
Este servicio se ha habilitado mediante una cuenta de correo en Gmail que hace uso de la utilidad de envío de correo integrada.
|
||||
|
||||
O bien, podrán usarse los siguientes usuarios ya predefinidos:
|
||||
|
||||
- admin/admin
|
||||
- usuario1/usuario1
|
||||
- usuario2/usuario2
|
||||
- usuario3/usuario3
|
||||
- usuario4/usuario4
|
||||
- usuario5/usuario5
|
||||
|
||||
El primero es, obviamente, el administrador con acceso a todas las funciones de gestión tanto de entidades como del sistema.
|
||||
|
||||
Los cinco restantes son usuarios con un artista y un recinto en una ciudad diferente cada uno.
|
||||
|
||||
Al entrar al sistema se ve la página de inicio con eventos que cumplen los criterios por defecto (todas las fechas y en Madrid):
|
||||
|
||||

|
||||
|
||||
Se han predefinido una serie de eventos que implementan las diferentes casuísticas: artista y recinto del mismo usuario, de diferente usuario, con diferentes tarifas, confirmados o no, etc...
|
||||
|
||||
Un usuario puede ver sus diferentes artistas/recintos/eventos en el apartado "Cuenta" de la cabecera.
|
||||
|
||||

|
||||
|
||||
Un evento no confirmado aparecerá en un tono más oscuro.
|
||||
|
||||
En la creación de un evento tenemos las opciones para escoger, entre otras opciones, el artista y recinto.
|
||||
Si un usuario intenta crear un evento para uno de sus artistas, aparecerán disponibles todos los recintos, pero si intenta crear un evento para otro artista sólo tendrá opción a crearlo para su propio recinto.
|
||||
|
||||
Un evento necesita estar confirmado tanto por el artista como por el recinto, y para ello se han habilitado checkboxes que sólo aparecerán visibles para el usuario interesado.
|
||||
También es posible que un evento sea rechazado por una de las partes, en cuyo caso desaparecerá del listado de eventos.
|
||||
|
||||

|
||||
|
||||
Por otra parte, es posible plantear una negociación guardando los cambios pretendidos en el evento, el cual aparecerá como pendiente en el listado de los usuarios implicados.
|
||||
|
||||
Finalmente, si se confirma, el evento pasa a disponibilidad del público para empezar a comprar entradas.
|
||||
|
||||
## Compilación para producción
|
||||
|
||||
### Empaquetamiento jar
|
||||
|
||||
En caso de querer compilar el jar para producción, ejecutar:
|
||||
|
||||
mvnw -Pprod clean
|
||||
|
||||
Para probar su funcionamiento, ejecutar:
|
||||
|
||||
java -jar target/*.jar
|
||||
|
||||
Y navegar a [http://localhost:8080](http://localhost:8080)
|
||||
|
||||
### Empaquetamiento war
|
||||
|
||||
Para empaquetar la aplicación de cara al despliegue en un servidor de aplicaciones, ejecutar:
|
||||
|
||||
mvnw -Pprod,war clean
|
||||
|
||||
## Docker
|
||||
|
||||
La aplicación y sus todas sus dependencias se puede dockerizar completamente.
|
||||
|
||||
Para ello, primero construímos una image docker de la app con el comando:
|
||||
|
||||
mvnw -Pprod jib:dockerBuild
|
||||
|
||||
Y después lanzamos el docker compose con:
|
||||
|
||||
docker-compose -f src/main/docker/app.yml up -d
|
||||
|
||||
[spring boot]: https://spring.io/projects/spring-boot
|
||||
[react]: https://es.reactjs.org/
|
||||
[jhipster]: https://www.jhipster.tech
|
||||
[intellij idea]: https://www.jetbrains.com/idea/
|
||||
[node.js]: https://nodejs.org/
|
||||
Reference in New Issue
Block a user