This project is a web application designed to manage events, developed using .NET Core and Entity Framework (EF) Core. The application includes a comprehensive Web API for handling various operations related to events and participants.
Docker installed on your machine. If not, please refer to the official Docker installation guide.
-
Open a terminal window.
-
Navigate to the project's root directory.
-
Execute the following command to build and start the services:
docker-compose up --build
-
Wait for the console output to indicate that all services have started successfully.
Detailed API documentation: http://localhost:8080/swagger
For Postman API requests collection open this file.
- Retrieve All Events: Get a list of all events.
- Retrieve Event by ID: Get a specific event by its ID.
- Add New Event: Create a new event.
- Update Event: Modify the details of an existing event.
- Delete Event: Remove an event from the system.
- Filter Events: Get a list of events based on specific criteria (date, location, category).
- Image Handling: Add and remove images associated with events.
- Register User in Event: Allow users to register for an event.
- Retrieve User by ID: Get details of a specific user by their ID.
- Retrieve Events in which User participates: Get details about events in which user is participating.
- Cancel Registration for Event: Allow users to cancel their registration for an event.
- Policy-Based Authorization: Implement authorization using refresh and JWT access tokens.
- Repository and Unit of Work Patterns: Ensure proper architecture and separation of concerns using these patterns.
- Global Exception Handling Middleware: Develop middleware to handle exceptions globally across the application.
- Pagination: Implement pagination for endpoints that return lists.
- Unit Testing: Ensure services are covered by unit tests.