2.2.8 • Published 1 year ago

membership-system v2.2.8

Weekly downloads
-
License
GPL-3.0
Repository
github
Last release
1 year ago

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.

Deploy Known Vulnerabilities

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