Table of Contents
Eventorium is a web API for event planning, built with Java and Spring Boot. It enables users to efficiently organize and manage events such as weddings, corporate gatherings, birthday parties, and more. This is the backend application for the Eventorium platform. The project follows a package-by-feature structure and includes comprehensive documentation, testing, and integration tools.
Happy planning with Eventorium! 🎉
This project is built using the following core technologies:
Follow the steps below to set up and run the project locally.
-
🔁 Clone the repository
git clone https://github.com/natasakasikovic/eventorium-backend.git cd eventorium-backend
-
⚙️ Update configuration
Open the
src/main/resources/application.properties
file and update the necessary values such as:- Database connection
- Mail credentials
- Any other environment-specific settings
-
📦 Build the project
./mvnw clean install
-
▶️ Run the application./mvnw spring-boot:run
The application will start on: 📍 http://localhost:8080
Swagger UI will be available at: 📖 http://localhost:8080/swagger-ui.html
A fully documented REST API is provided using Springdoc OpenAPI, allowing you to explore all available endpoints, request/response schemas, and try out API calls directly from the browser.
SonarQube is available for static code analysis.
mvn clean verify
mvn sonar:sonar -Dsonar.token=<token>
Make sure your SonarQube server is running locally (default: http://localhost:9000).
The project uses JUnit 5 for testing. Tests are separated by layers:
✅ Unit tests for Service and Repository layers
✅ Integration tests for REST controllers
🔧 Run all tests:
./mvnw test
Or (Windows):
mvn test
The system supports the following roles with corresponding credentials:
-
Organizer
- Email:
organizer@gmail.com
- Password:
pera
- Email:
-
Service and product provider
- Email:
provider@gmail.com
- Password:
pera
- Email:
-
Administrator
- Email:
admin@gmail.com
- Password:
pera
- Email:
-
User (registered via quick registration)
- Email:
user@gmail.com
- Password:
pera
- Email: