This application is a distributed system based on microservices architecture, employing an event-driven approach following the Event Sourcing and Command Query Responsibility Segregation (CQRS) patterns. Its primary purpose is to manage traffic violations resulting from speeding incidents detected by automatic radar systems.
-
radar-service
- Responsible for radar management (command & query operations).
-
registration-service
- Manages vehicle information, including registration (command & query operations).
-
infraction-service
- Handles the management of traffic violations (command & query operations).
-
discovery-service (Spring Cloud Eureka Server)
- Enables service discovery within the application.
-
gateway-service (Spring Cloud Gateway)
- Acts as a gateway for routing and load balancing.
-
Axon Framework and Axon Server
- Utilized for implementing Event Sourcing and CQRS.
-
MySQL
- Database management system for persistent data storage.
-
Maven
- Build and project management tool.
-
Java 17
- Programming language for application development.
-
Clone the repository.
git clone https://github.com/BrodyGaudel/cqrs-and-event-sourcing---radar-management-system.git
-
Navigate to the project directory.
cd your/project/directory
-
Build the project using Maven.
mvn clean install
-
Run the services using your preferred method (e.g., Docker, Java command).
- Update configuration files in each microservice for database connection, Axon Server, and other relevant settings.
- Fork the repository, make changes, and submit a pull request.
- Brody Gaudel