An open API service indexing awesome lists of open source software.

https://github.com/ecehive/hums

Makerspace management tool suite.
https://github.com/ecehive/hums

analytics bunjs inventory-management makerspace scheduling ticket-management typescript user-management

Last synced: 5 months ago
JSON representation

Makerspace management tool suite.

Awesome Lists containing this project

README

          


HUMS


Hive Unified Management System


Management system for The Hive Makerspace at Georgia Tech.


GitHub Repo stars
GitHub License
GitHub top language

## Structure

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)

## Prerequisites

- Bun (JS/TS runtime and package manager)
- Docker (optional, useful for devcontainers)

Check your version:

```sh
bun -v
```

## Setup

1. Clone the repository:

```sh
git clone https://github.com/ECEHive/hums.git
cd hums
```

2. 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.

3. Install dependencies for the whole workspace:

```sh
bun install
```

4. Generate database and apply migrations:

```sh
cd packages/prisma
bun generate && bun migrate
```

5. Create environment files for each app that needs them (examples are provided):

```sh
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.

## Development

To start server, client, and kiosk with hot-reload, run the following in the workspace root,

```sh
bun dev
```

Alternatively, 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.

## License

See [LICENSE](./LICENSE) for license details.

## Contributing

We welcome contributions! Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines on contributing (branching, commits, pull requests, and reviews). Also read and follow our [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md) to help keep the community respectful and collaborative.

![Alt](https://repobeats.axiom.co/api/embed/e340dcbcd1c8721fa10e52301b8825cd1e253ac2.svg "Repobeats analytics image (dev branch)")