SpringBoot Microservice part of the project Tongue, which is a personal project based on Uber eats and Rappi system. This microservice is charged of the shipping part of an order fulfillment process, that is:
- Receive shipping requests
- Find a set of drivers/couriers
- Ask anyone to ship the order.
- Pick a courier
- Lead the courier on his way to the restaurant.
- Send an arrival notification message.
- Lead the courier on his way to the customer position
-
Unit testing, Integration testing, Websockets testing and Security testing.
-
Asynchronous Communication between microservices using AMQP
-
RabbitMQ Broker
-
Publish/Subscribe Communication with customer/driver android apps using STOMP.
-
Session Management with Redis
-
JWT Authentication
-
Geolocation
-
Web Tools for Testing (Test autentication, websockets connection and the main features of the service)
-
Delivery Service
-
Android app as frontend (Couriers App)
-
Logging
- Redis: This service uses a Redis Server to pull and push data from/to user sessions.
- RabbitMQ: Tongue uses AMQP for communication between microservices, specifically a RabbitMQ broker.
Optional: Shippin Service Test Client uses an Apache HTTP Server to run web side logic.