Msys is a member management and access control system.
Msys is developed on Linux but it could probably run on a number of other systems. Certain packages are required in any case:
* Python 3.5+
* Django 2.1
* Pillow
* Stripe
A webserver and database will also be required. In this guide we will focus on the following ones:
* Nginx
* Sqlite
You can install the dependancies using whatever method (virtualenv, package manager) but we will use pip for the sake of being universal
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py --user
pip install django --user
pip install pillow --user
pip install stripe --user
git clone https://github.com/C-o-r-E/msys.git
cd msys/msys
echo "somerandomdata" > key.txt
sudo mkdir /var/www/msys/
You should replace that string with real random data... (read the Django docs for more info)
python manage.py runserver
At this point the server should start. It might complain about unapplied migrations which we will resolve later.
Now open a browser and navigate to http://127.0.0.1:8000/members (the server should indicate the listening address in the terminal where it was started). If all went well you should see a prompt to log in to the member system.
Use Ctrl-C in the terminal to halt the devel server. We now need to create a super user.
python manage.py createsuperuser
Once the superuser is created, we need to create the database tables required for msys to function correctly. To create the proper structure do the following:
python manage.py makemigrations members
This section is for importing the memberlist used by Helios (google sheet). It expects the sheet with member information to be exported to a CSV file. The script will attempt to open the file "members.csv" and populate the database with both member and membership information.
python add_all_members.py
See client/README.md
- Set up the webserver
- Set up wsgi
- Stripe API integration
- manage rentals (shelves, spaces)
- track training records (or member activities)
- Https
- better log format
- configuration settings
- Test cases
- Red LED for access denied
- investigate new revision of board
- Build something for RPi based kiosk