Depermitto / hyperloop

Web-based dashboard for managing Hyperloop infrastructure

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hyperloop

Hyperloop is a team project for the course "Databases II" at the Warsaw University of Technology.

It is a general purpose dashboard for hypothetical Hyperloop staff, in which they can:

  • track moving pods on a map,
  • create, update and delete parts of the infrastructure:
    • stations,
    • depots,
    • pods,
    • routes,
  • schedule repairs for the pods,
  • generate reports for selected parts of the infrastructure in given time period.

App screenshot

Pre-requisites

  • Node.js
  • Python
  • Yarn (or npm)
  • PostgreSQL (or Docker)
  • Kafka (or Docker)
  • Docker w/ Docker Compose (optional)

Getting started locally

  1. Clone the repository
  2. Run docker compose up to start the PostgreSQL database and Kafka containers
  3. Go to the src/simulation directory and run pip install -r requirements.txt
  4. Go to the src/web directory and run yarn (or npm install)
  5. Execute all the files listed below in the database in this order:
    1. schema.sql
    2. procedures.sql
    3. data.sql
    4. indices.sql
    5. procedure_tests.sql (optional, you can run it to verify that your database is set up correctly)
  6. Run npx prisma pull to pull the database schema into Prisma
  7. Run npx prisma generate to generate the Prisma client
  8. Run yarn run dev (or npm run dev) to start the development server
  9. Open http://localhost:3000 with your browser to see the result

Working with In-Docker PostgreSQL

  1. Run docker compose up to start the PostgreSQL database

  2. Connect to the database using the following credentials:

    • Host: localhost
    • Port: 5432
    • User: johndoe
    • Password: randompassword
    • Database: hyperloop

    For more information, check the docker-compose.yml file.

Contributors

Made with contrib.rocks.

About

Web-based dashboard for managing Hyperloop infrastructure


Languages

Language:TypeScript 72.5%Language:Python 12.0%Language:PLpgSQL 11.8%Language:Dockerfile 1.8%Language:JavaScript 1.6%Language:CSS 0.4%