Descripción Plataforma de gestión de eventos con autenticación del usuario y gestión de: usuarios, eventos, entradas y regalos.
- Autenticación: registro, login, logout y refresh token.
- Perfil de usuario: consulta y actualización de datos.
- Gestión de eventos: crear, listar, ver detalles y actualizar.
- Entradas: inscripción a eventos y gestión de tickets.
- Regalos: visualización y gestión.
- SPA con routing: vistas públicas/privadas en el frontend.
| Capa | Tecnología | Versión / Detalles |
|---|---|---|
| Frontend | Vue | 3.x |
| Frontend | Vite | 5.x |
| Frontend | TypeScript | 4.x |
| UI | Element Plus | 2.x |
| HTTP Client | Axios | 0.21.x |
| Backend | Java | 21 |
| Backend | Spring Boot | 3.4.4 |
| Backend | Spring Security | (starter) |
| Backend | Spring Data JPA | (starter) |
| API Docs | springdoc-openapi-ui | 1.6.9 |
| Auth | JJWT | 0.12.6 |
| DB | PostgreSQL | (driver org.postgresql) |
| Build | Maven Wrapper | mvnw / mvnw.cmd |
| Cloud AWS | AWS SDK (S3) | Dependencias incluidas |
Un único repositorio con:
- Backend en la raíz (Spring Boot + Maven)
- Frontend en
frontend/(Vue + Vite)
Árbol:
eventManager/
├─ pom.xml
├─ mvnw
├─ mvnw.cmd
├─ src/
│ ├─ main/
│ │ ├─ java/
│ │ │ └─ eventManager/
│ │ └─ resources/
│ │ ├─ api/
│ │ │ └─ api.yaml
│ │ ├─ application.yml
│ │ ├─ static/
│ │ └─ templates/
│ └─ test/
├─ frontend/
│ ├─ package.json
│ ├─ vite.config.js
│ ├─ index.html
│ ├─ public/
│ └─ src/
│ ├─ api/
│ ├─ components/
│ ├─ router/
│ ├─ stores/
│ ├─ views/
│ └─ main.ts
- Frontend:
http://localhost:3000 - Backend:
http://localhost:8090
El proyecto utiliza MinIO (compatible con S3) para desarrollo local.
docker-compose up -d- API: http://localhost:9000
- Consola Web: http://localhost:9001
- Usuario:
${MINIO_ACCESS_KEY}(ver.env.example) - Contraseña:
${MINIO_SECRET_KEY}(ver.env.example)
El bucket event-manager-images se crea automáticamente al iniciar la aplicación con perfil dev.
┌─────────────────┐
│ S3Service │ ← Interfaz común
└─────────────────┘
↑
│ implements
┌────┴──────┐
┌───┴────┐ ┌───┴─────────┐
│MinioSvc│ │S3ServiceImpl│
│@dev │ │@aws │
└────────┘ └─────────────┘
│ │
┌───┴────┐ ┌───┴────┐
│MinIO │ │AWS S3 │
│Docker │ │Cloud │
└────────┘ └────────┘
Este proyecto utiliza variables de entorno principalmente para el backend (Spring Boot).
- Base URL (local):
http://localhost:8090 - Swagger UI:
http://localhost:8090/swagger-ui/index.html