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.
- Node.js
- Python
- Yarn (or npm)
- PostgreSQL (or Docker)
- Kafka (or Docker)
- Docker w/ Docker Compose (optional)
- Clone the repository
- Run
docker compose up
to start the PostgreSQL database and Kafka containers - Go to the
src/simulation
directory and runpip install -r requirements.txt
- Go to the
src/web
directory and runyarn
(ornpm install
) - Execute all the files listed below in the database in this order:
schema.sql
procedures.sql
data.sql
indices.sql
procedure_tests.sql
(optional, you can run it to verify that your database is set up correctly)
- Run
npx prisma pull
to pull the database schema into Prisma - Run
npx prisma generate
to generate the Prisma client - Run
yarn run dev
(ornpm run dev
) to start the development server - Open http://localhost:3000 with your browser to see the result
-
Run
docker compose up
to start the PostgreSQL database -
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. - Host:
Made with contrib.rocks.