Event Planner is a Java Spring Boot web back-end appliccation created for educational purposes.
The application is designed as an event planning API that allows front-end applications to manage events. It enables owners and admins to create and manage events, which are then accessible to all users.
- Java (Spring Boot)
- H2 Console
- Java IDE (Spring Tool Suite recommended)
- Java 21
-
Clone the Repository
git clone [email protected]:EltonC06/Event-Planner.git
-
Open the Project
- Open the project in a Java IDE with Spring Boot support (Spring Tool Suite is recomemended).
-
Set Up the Database
- H2 database configuration is included by default. No additional setup is required for local development.
-
Run the Application
- In your IDE, click to run the application.
-
Testing the Application
- Since the application does not have a front-end interface, use a HTTP client like Postman to interact with the API endpoints.
Here are the main endpoints available for interacting with the application:
-
Create User
- Method:
POST
- URL:
localhost:8080/users
- Description: Create a new user.
- Body:
{ "userName": "Guilherme", "password": "4321", "role": "OWNER" }
- Method:
-
Get user by id
- Method:
GET
- URL:
localhost:8080/users/{id}
- Description: Get an user by id.
- Method:
-
Get Users
- Method:
GET
- URL:
localhost:8080/users
- Description: Get all users created.
- Method:
-
Update User
- Method:
PUT
- URL:
localhost:8080/users/{id}
- Description: Update the information about the user selected.
- Body:
{ "userName": "Guilherme", "password": "1234", "role": "USER" }
- Method:
-
Delete User
- Method:
DELETE
- URL:
localhost:8080/users/{id}
- Description: Delete an user.
- Method:
-
Create Event
- Method:
POST
- URL:
localhost:8080/events
- Description: Create a new event.
- Body:
{ "name": "Event name" "date": "2000-01-03", "local": "Local name", "description": "Event description", "userId": "1", "eventStatus": "PLANNED" }
- Method:
-
Get event by id
- Method:
GET
- URL:
localhost:8080/events/{id}
- Description: Get an event by id.
- Method:
-
Get Events
- Method:
GET
- URL:
localhost:8080/events
- Description: Get all events created.
- Method:
-
Update event
- Method:
PUT
- URL:
localhost:8080/events/{id}
- Description: Update information for a specific event.
- Body:
{ "name": "Event name" "date": "2000-01-03", "local": "Local name", "description": "Event description", "userId": "1", "eventStatus": "PLANNED" }
- Method:
-
Auto Status Update
- Method:
PUT
- URL:
localhost:8080/events/autostatusupdate/{id}
- Description: Automatically update the event status based on its date.
- Method:
-
Update event
- Method:
PUT
- URL:
localhost:8080/events/cancel/{id}
- Description: Cancel an event.
- Method:
-
Delete event
- Method:
DELETE
- URL:
localhost:8080/events/{id}
- Description: Delete an event.
- Method:
-
UserRole:
USER
,ADM
andOWNER
-
EventStatus:
PLANNED
,CANCELLED
andCOMPLETED
- The program was tested using only Spring Tool Suite.
- Login System implementation.
- Spring Security implementation for user passwords.
- Develop the web front-end project part.
Elton da Costa Oliveira