Skip to content

Latest commit

 

History

History
24 lines (17 loc) · 948 Bytes

README.md

File metadata and controls

24 lines (17 loc) · 948 Bytes

Icar

Icar is a rental car admin panel that shows the real time locations of rental cars.

System Design

The system consists of a producer service that converts mock location data from a CSV into real-time location data, which is then periodically sent to a message broker. A bridge consumes the message broker's messages and saves them to a database. The backend is a RESTful API that returns the latest location for each vehicle everytime it is requested by the frontend.

Tech stack

  • Orchestration - Docker + Docker compose
  • Producer - Golang
  • Message broker - RabbitMQ
  • Bridge - JavaScript
  • Backend - Express.js, JWT auth
  • Frontend - React.js (functional components + hooks), Typescript

image

TODO

  • Integrate websockets to update locations without refreshing
  • Change normal mongodb to a timeseries mongodb database