A microservices-based event management platform for organizing and participating in events (conferences, concerts, etc.).
→ DOCUMENTATION_INDEX.md - Complete documentation guide
- PROBLEM_SOLVED.md - 🚨 Start here if you have Eureka/service discovery issues
- ARCHITECTURE.md - Complete system architecture and debugging guide
- QUICK_REFERENCE.md - Cheat sheet for ports, commands, and troubleshooting
- DIAGRAMS.md - Visual diagrams of system flows
- API-DOCUMENTATION.md - API endpoints documentation
- DEPLOYMENT.md - Deployment guide
Backend: Java Spring Boot microservices with Spring Cloud
Frontend: Angular
Database: PostgreSQL (per service)
Cache: Redis
Security: JWT authentication
- Service Discovery (Eureka Server) - Port 8761
- API Gateway - Port 8080
- User Service - Port 8081 (User management, JWT auth, registrations)
- Event Service - Port 8082 (Event CRUD, media, statistics)
- Notification Service - Port 8083 (Email/push notifications)
- Organizers: Create events, upload media, manage participants, view statistics, send notifications
- Participants: Search events, register/unregister, receive notifications
- Java 17+
- Maven 3.8+
- Node.js 18+ & npm
- Docker & Docker Compose
- PostgreSQL 15+
- Redis 7+
# Build and start all services
docker-compose up --build
# Access applications
# Eureka Dashboard: http://localhost:8761
# API Gateway: http://localhost:8080
# Angular Frontend: http://localhost:4200# Start Service Discovery
cd backend/service-discovery
mvn spring-boot:run
# Start API Gateway
cd backend/api-gateway
mvn spring-boot:run
# Start User Service
cd backend/user-service
mvn spring-boot:run
# Start Event Service
cd backend/event-service
mvn spring-boot:run
# Start Notification Service
cd backend/notification-service
mvn spring-boot:runcd frontend/event-management-ui
npm install
ng serveEach microservice uses its own PostgreSQL database:
user_db- User Serviceevent_db- Event Servicenotification_db- Notification Service
Tables are auto-created by Spring Boot JPA on startup.
Once services are running, access Swagger UI:
- User Service: http://localhost:8081/swagger-ui.html
- Event Service: http://localhost:8082/swagger-ui.html
- Notification Service: http://localhost:8083/swagger-ui.html
- Register:
POST /api/users/register - Login:
POST /api/users/login(returns JWT token) - Use token in
Authorization: Bearer <token>header for protected endpoints
Ing-web-pro-vibe-code/
├── backend/
│ ├── service-discovery/ # Eureka Server
│ ├── api-gateway/ # Spring Cloud Gateway
│ ├── user-service/ # User & Registration Service
│ ├── event-service/ # Event Management Service
│ └── notification-service/ # Notification Service
├── frontend/
│ └── event-management-ui/ # Angular Application
├── infrastructure/
│ └── docker-compose.yml # Docker orchestration
└── README.md
Each microservice follows standard Spring Boot structure:
src/main/java/- Java source codesrc/main/resources/- Configuration filessrc/test/java/- Unit tests
cd frontend/event-management-ui
ng generate component components/event-list
ng generate service services/auth
ng serve --open# Backend tests
cd backend/[service-name]
mvn test
# Frontend tests
cd frontend/event-management-ui
ng testUniversity Project - M2 Ing-web