beabee
This repository hosts beabee's API and legacy app. Go here to find out more about beabee.
If you are interested/have any questions please contact
will.franklin@beabee.io, I'd love to hear from you!
This system was originally created for
South London Makerspace
and repurposed by The Bristol Cable.

Browser testing with

Install
⚠️⚠️⚠️ WARNING ⚠️⚠️⚠️
If you want to deploy beabee on a server refer to
beabee/beabee-deploy
instead. The instructions below are for running beabee locally for development
You need:
- Docker >= 19.03.8
- Docker Compose >= 1.28.0
- Node.js >= 16.13.1
NOTE: Lower non-major versions probably work but haven't been tested
To just look around the system you can just use the example env file (.env.example
) as is, but you'll need to
create a sandbox GoCardless account to test any payment flows.
cp .env.example .env
npm install
npm run build
docker-compose build
docker-compose up -d db
docker-compose run --rm app npm run typeorm migration:run
docker-compose up -d
Go to: http://localhost:3001
To get started
Create a new super admin
docker-compose run --rm app node built/tools/new-user
Import some data
Need some test data? Download it here: coming soon
docker-compose run --rm -T app node built/tools/database/import.js < <import file>
Development
Development is containerised, in general you should be able to use the following to get started
npm start
You can also use the following when just working on the API (faster reloading)
npm run dev:api
Rebuilding containers
If you make changes to .env
you need to recreate the Docker containers
docker-compose up -d
If you change the dependencies in package.json
you must rebuild and recreate the Docker containers
docker-compose build
docker-compose up -d
Documentation
Documentation is currently very limited, email will.franklin@beabee.io if you have any questions.
The codebase is broadly split into a few different parts
-
beabee core
Shared between all services (API, webhooks and legacy)
./src/core
./src/models - Data models and database entities
./src/config - Config loader
-
API service
./src/api
-
Webhook service
Handlers for webhooks from beabee's integrations (currently GoCardless, Mailchimp and Stripe)
./src/webhook
-
Legacy app
This is slowly being removed, with business logic being moved into the API and frontend into the new frontend.
./src/apps
./src/static
./src/views
-
Tools
Various tools for administration, including nightly cron jobs
./src/tools
-
Database migrations
Autogenerated by TypeORM
./src/migrations