/artica

Primary LanguageJavaScript

Uber Ride Analytics Dashboard

A straightforward analytics dashboard for Uber ride data, built with Cube.js and React. Visualize and analyze ride data through various visualizations and gain insights into ride patterns and trends.

Tech Stack

This project is built using the following technologies:

  • PostgreSQL: An open-source relational database management system known for its reliability and robust features.
  • Docker: Containerization platform for building, shipping, and running applications.
  • Docker Compose: Tool for defining and running multi-container Docker applications.
  • Cube.js: Powering analytical APIs and enabling efficient data analysis.
  • React: A declarative, efficient, and flexible JavaScript library for building user interfaces.

Phases of project

  • Build Backend
    • setup docker containers for DB and cube
    • setup initial data load
  • Build Frontend
    • create visualizations (stacked bar, pie, heatmap)

P.S.

  • Earlier I was trying to research whether I can create heatmap on actual map for a single city and support zoom-in or zoom-out actions. After some research, I found that geo queries are not supported in Cube, hence dropped the idea :(
  • I have tried to maintain as much clean code as possible in time I had for this assignment. Still this is not how I would deliver this artifact if it was for production use. There is still a scope for refactor.

How to start Backend

Location: ./api

cd ./api
docker compose up -d

How to start Frontend

Location: ./frontend

cd frontend
npm i
npm start

Dataset Used

Uber ride dataset from kaggle is used to generate the visualizations. I have loaded the data via a python script.

  cd ./api
  python load_data.py

For simplicity sake, I have added uber.sql dump in the project and loaded in postgres database on startup. By default you will have data for May 2014 in your database.

Screenshots

Dash 1

Dash 2