MemberMatters is an open source membership, billing and access control solution for makerspaces and community groups.
See the getting started instructions for how to run the MemberMatters software for your organisation. Once you've finished installing MemberMatters, your should read the post installation steps for important instructions on setting up and configuring your instance.
MemberMatters is production quality software and has been used by several makerspaces for over 5 years. However, as an open source project, we focus our limited resources on features and bug fixes so our documentation can always be improved. Please open an issue if you have any suggestions to make it better.
Officially, the only supported way to run MemberMatters is with the official Docker Hub image on a Ubuntu Server LTS host. Being Docker, you should be able to run it on various other platforms, but minimal support will be available. There is both an AMD64 and ARM64 build on Dockerhub for each release.
The official changelog is available on the website here. You will also find each release here on GitHub.
As part of our access control system (including doors, tool interlocks & vending machine payments) @jabelone has developed a "mainboard" PCB and firmware that is compatible with MemberMatters. The second iteration of this PCB has proven quite reliable over the last ~2yrs, despite a handful of hardware bugs. This PCB will be published eventually as the "standard" access control hardware for use with MemberMatters once (if) this design reaches production ready quality. It will not be published before this to prevent issues/disappointment/support requests.
However, our Access Control Firmware should run on most ESP32 devices. It is also compatible with many off the shelf dev boards and peripherals including UART and Wiegand RFID readers, 16x2 i2c LCD screens, etc. To use this firmware, connect a compatible RFID reader, some sort of output (contactor for a tool interlock, electronic door strike, vend relay etc.) and configure it to connect to your MemberMatters instance. Once connected, you can authorise it and use it within MemberMatters.
You can read more about how to use the firmware in it's repo at MemberMatters Access Control Firmware.
See the screenshots folder for more screenshots.
We use husky and lint-staged to manage pre commit hooks. The first thing you should do is run npm install
in this
directory. This installs and configures the pre commit hooks automatically. After doing this, you should see them run
when you try to commit a file (for example, with git commit -m "update thing"
).
The Vue.js (Quasar) frontend and Django backend run different dev servers on different ports. Due to
this you will run into issues with sharing cookies etc across the different URIs. To get around
this, the webpack dev server has been setup to proxy all requests to /api
to localhost:8000
so
you'll need to make sure the django dev server is running there.
Please see the readme file inside the src-frontend
folder. This folder contains all of the source
code and other assets needed by the frontend.
Please see the readme file inside the memberportal
folder. This folder contains all of the source
code and other assets needed by the backend.
By contributing code, or any other resource to this repository, you agree to license it under the open source MIT license. Please use good coding practices, comment your code well and ensure compliance with any code formatting or linting that's in place. Also avoid "weird tricks" and optimisations that don't read easily - this is a web app, not a high performance algorithm. Your contributions will be rejected if you do not follow these guidelines so please be careful.
All PRs should be made from your own branch/fork into the dev
branch. Every now and again we'll collect the changes in dev, do up a release, and push to main
. The main
branch should always contain the most recent release.
We use semantic versioning.
v3.4.5
.main
branch, tag the merge commit with the same name and GHA will build/deploy the docker image.v3.4.5
.Feel free to add your organisation to this list (via a pull request) if you're actively using or trialling MemberMatters. Make sure to include a link to your website and the date you added it.