A powerful Spring Boot-based microservices application for seamless event management. π Organizers can create events, manage registrations, and monitor participation. π₯ Users can browse and join upcoming events.
Ideal for managing seminars, workshops, conferences, and more.
Service | Description |
---|---|
api-gateway |
Routes requests to backend services. |
eureka-server |
Service registry using Spring Cloud Eureka. |
event-service |
Manages event creation and updates. |
registration-service |
Handles event registrations. |
user-service |
Manages users and authentication. |
transactions |
(Optional) Manages payment-related operations. |
logs |
Centralized logging service (if used). |
- Java + Spring Boot
- Spring Cloud (Eureka, Gateway)
- Spring Data JPA
- MySQL
- Lombok
- Maven
- π User authentication and role-based access
- π Event creation and management
- β Event registration and validation
- π Participation tracking
- π‘ Centralized routing via API Gateway
- π Service discovery via Eureka
-
Clone the Repository
git clone https://github.com/yourusername/event-management-system.git cd event-management-system
-
Set Up MySQL
-
Create databases for each service (
user_db
,event_db
, etc.) -
Update
application.properties
orapplication.yml
for each service with your MySQL credentials:spring.datasource.url=jdbc:mysql://localhost:3306/user_db spring.datasource.username=root spring.datasource.password=your_password spring.jpa.hibernate.ddl-auto=update
-
-
Run Eureka Server
cd eureka-server mvn spring-boot:run
-
Start Other Services One by One
cd api-gateway && mvn spring-boot:run cd user-service && mvn spring-boot:run cd event-service && mvn spring-boot:run cd registration-service && mvn spring-boot:run cd transactions && mvn spring-boot:run # optional
-
Access Services
- Eureka Dashboard:
http://localhost:8761
- API Gateway:
http://localhost:8080
- Eureka Dashboard:
Add screenshots of the UI here to showcase features like event creation, registration, dashboards, etc.
Feature | Screenshot |
---|---|
Home Page | ![]() |
User Dashboard | ![]() |
Create Event Page | ![]() |
Admin Dashboard | ![]() |
Events Panel | ![]() |
Event Preview | ![]() |
Use tools like:
- Postman to test endpoints
- JUnit + Mockito for unit tests
- π§ Email notifications for registrations
- π Admin dashboard with statistics
- π§Ύ Reports export (CSV/PDF)
This project is licensed under the MIT License.