This is a membership management system, it's chiefly a database of member data for legal purposes, setting up subscription payments, managing access control permissions, logging events, and interfacing with Discourse permissions.
This is a membership management system, it's chiefly a database of member data for legal purposes, setting up subscription payments, managing access control permissions, logging events, and interfacing with Discourse permissions.
This system was created for South London Makerspace.
There are two options for setup, either as a new install (Steps 1, 2, 3a, 4, 5), or importing dry test data from the data drier (Steps 1, 2, 3b, 4, 5), which is currently not publicly available.
Before you can start the server you'll need to ensure:
config
folder, naming it config.json
. Complete the details.npm install
to install the numerous dependencies.npm run first-time
to create the basic necessary database entries.permissions
section is complete to match the server where data was exported from, especially the admin
and superadmin
details.npm install
to install the numerous dependencies.npm run import <path to dry data>
to import the dry data.npm run new-user
to create an activated super admin user.npm run start
.http://localhost:3001
.The system is now up and running, however you'll need to review:
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/
app.js
config.js
Check out these files to get an idea of how each of these should be structure.
If running behind a reverse proxy, you should configure your proxy to add the X-Forwarded-*
headers (see nginx documentation), and also set reverseProxyTrust variable in config/config.json