Contributing to OpenBeacon
These docs are a work in progress. OpenBeacon is in early development, so expect the codebase and these pages to change often.
OpenBeacon is open source on GitHub, under the AGPL-3.0 with the Commons Clause. See LICENSE.md in the repository.
How the repository is laid out
It's a Bun monorepo, built with Turborepo.
| Folder | What's in it |
|---|---|
apps/mobile | The React Native (Expo) app, currently version 1.6.0. Includes a native Android module for background tracking. |
apps/backend | The API server, currently version 0.5.1. |
apps/scheduled-jobs | The scheduled job runner, released alongside the backend. |
packages/api | The API routers and server logic. |
packages/auth | Sign-in, sessions and email codes. |
packages/database | The Prisma schema and migrations. |
packages/encryption | End-to-end encryption shared by the app and the server. |
packages/email | Email templates and sending. |
packages/schemas, packages/shared | Shared validation schemas and helpers. |
docs | Architecture decisions, domain glossaries and design notes. |
Where to start
- Set up your machine.
- Run the app and backend.
- Read the code conventions and the glossary.
- Open an issue or pull request.