Skip to content

TobiasHauswurz/beabee

 
 

Repository files navigation

Membership System

This is The Bristol Cable's membership system. We are actively looking for people/organisations who are interested in using the system or want to get involved.

If you are interested/have any questions please contact will@thebristolcable.org, I'd love to hear from you!

This system was originally created for South London Makerspace and repurposed by The Bristol Cable.

Integrations

  • GoCardless for direct debits
  • MailChimp for newsletters
  • Mandrill for transactional emails
  • Discourse with SSO for forums

Deploy Known Vulnerabilities

Browser testing with

Install

You need:

  • Docker >= 19.03.8
  • Docker Compose >= 1.28.0
  • Node.js >= 12.16.1

NOTE: Lower non-major versions probably work but haven't been tested

The example env var file is enough to look around the system, but you'll need to create a sandbox GoCardless account to do 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

npm start

This runs everything with watchers for file changes to the app/css/assets.

Creating apps

The system is built around modular apps. If you're looking to add functionality to the site the best way to do this would by adding an app to the site rather than modifying it's base. This means you're unlikely to mess anything up.

As an example, let's add a login page.

Stub out your app structure within app/, this will include:

apps/
	login/
		views/
			index.pug
		app.js
		config.js

Check out these files to get an idea of how each of these should be structure.

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 51.5%
  • Pug 24.8%
  • SCSS 15.6%
  • JavaScript 7.9%
  • Other 0.2%