User management system for The Hive Makerspace at Georgia Tech.
This project has a monorepo structure. The apps/ directory contains applications (e.g. client, server) while the packages/ directory contains shared libraries and tools (e.g. prisma, trpc)
- Bun (JS/TS runtime and package manager)
- Docker (optional, useful for devcontainers)
Check your version:
bun -v-
Clone the repository:
git clone https://github.com/ECEHive/hums.git cd hums -
If you are able to use development containers, setup and enter the development container as is appropriate for your IDE. If you are unable to use development containers, you will need to manually setup a Postgres instance.
-
Install dependencies for the whole workspace:
bun install
-
Generate database and apply migrations:
cd packages/prisma bun generate && bun migrate
-
Create environment files for each app that needs them (examples are provided):
cp apps/client/.env.sample apps/client/.env cp apps/kiosk/.env.sample apps/kiosk/.env cp apps/server/.env.sample apps/server/.env # then edit the .env files to suit your local environment
Refer to each app's README for required variables.
To start server, client, and kiosk with hot-reload, run the following in the workspace root,
bun devAlternatively, run the above in a specific directory within apps/ to individually start the server, client, or kiosk.
You can then access the client at https://localhost:44831/.
The kiosk is accessible at https://localhost:44832/ and the server is accessible at http://localhost:44830/.
Notes:
- You may get an HTTPS warning in the browser when using the local dev servers. You can accept/bypass the warning to continue.
See LICENSE for license details.
We welcome contributions! Please see CONTRIBUTING.md for guidelines on contributing (branching, commits, pull requests, and reviews). Also read and follow our CODE_OF_CONDUCT.md to help keep the community respectful and collaborative.