membership-system v2.2.8
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
# Initialise database
docker-compose up -d db
docker-compose run --rm app npm run typeorm migration:run
# Do the rest
docker-compose up -dGo to: http://localhost:3001
To get started
Create a new super admin
docker-compose run --rm app node built/tools/new-userImport 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 startYou can also use the following when just working on the API (faster reloading)
npm run dev:apiRebuilding containers
If you make changes to .env you need to recreate the Docker containers
docker-compose up -dIf you change the dependencies in package.json you must rebuild and recreate the Docker containers
docker-compose build
docker-compose up -dDocumentation
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 loaderAPI service
./src/apiWebhook service
Handlers for webhooks from beabee's integrations (currently GoCardless, Mailchimp and Stripe)
./src/webhookLegacy 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/viewsTools
Various tools for administration, including nightly cron jobs
./src/toolsDatabase migrations
Autogenerated by TypeORM
./src/migrations
3 years ago