A taxi dispatching station having a pool of taxis serving customers.
The server provide RESTful web services for the pull-based interaction between the client and server for the stateless components and WebSockets for streaming taxi location updates events and AWS Simple Notification Service (Amazon SNS) for pushed-based events such as taxi booking updates.
![taxi-booking-usecase-diagram](/documentation/images/UseCase Diagram Taxi Booking Module.png)
![Activity Diagram - Booking a Taxi](/documentation/images/Activity Diagram - Booking a Taxi.png)
![Activity Diagram - Accept Taxi Booking](/documentation/images/Activity Diagram - Accept Taxi Booking.png)
http://localhost:8000/v1/test/setup
GET: http://localhost:8000/v1/taxi/{id}
POST: http://localhost:8000/v1/taxi/{id}/location
Request: {
"latitude": 51.763366,
"longitude": -0.22309
}
-
Return a route from start and end location latitude and longitude
-
Return address corresponding to provided latitude and longitude.
-
Return location (lat/lng) corresponding to provided address.
-
Return estimate travel time between start and end location in seconds.
-
Find address via textual description.
-
A controller class for receiving and handling all booking related transactions
POST: makeBooking
GET: bookingHistory
GET: findBooking
GET: findBookingsForUser
GET: incompleteBookings
POST: updateBooking
POST: acceptBooking
http://localhost:8888/booking-service/master
http://localhost:8888/eureka-service/master
http://localhost:8888/env
http://localhost:8888/metrics
http://localhost:8761/