This is a microservices-based application built using Spring Cloud, Spring, and RabbitMQ for message queuing. The system allows for managing parcels, tracking their status, and administering the application through an admin panel. The application uses MongoDB as its database.
-
Parcel Manager localhost:9000/admin-tool/list - Manages parcels and their statuses. Communicates with MongoDB Atlas and RabbitMQ for notification handling.
-
Customer Client localhost:8090/manage/app - A user-facing application that allows sending and tracking parcels. Communicates with other microservices using OpenFeign.
-
Notification Receiver - Receives notifications from RabbitMQ and processes them.
-
Gateway - Configured as a Eureka client that routes requests to the appropriate microservices.
- Service Registration: All services are registered with the Eureka server, enabling dynamic discovery and routing.
- Parcel Management: Add, edit, and delete parcels. Track parcel status.
- Notifications: Send notifications about parcel status changes using RabbitMQ.
- User Interface: Users can send parcels and track their status through a user-friendly interface.
- Admin Panel: Manage parcels and monitor the system from an administrative panel.
- JDK 17 or higher
- MongoDB Atlas
- RabbitMQ
- Eureka Server
-
Clone the repository
git clone <REPOSITORY_URL> cd <REPOSITORY_NAME>