alielbashir / icar

An admin panel that shows the real time locations of rental cars

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

An admin panel that shows the real time locations of rental cars


Languages

Language:TypeScript 45.0%Language:JavaScript 30.8%Language:Go 10.7%Language:HTML 6.5%Language:CSS 6.4%Language:Dockerfile 0.6%