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.x
* Django 1.9
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
git clone https://github.com/C-o-r-E/msys.git
cd msys/msys
echo "somerandomdata" > key.txt
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
The following was tested on a RaspberryPi 2 running a fresh raspian image
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git python3 python3-pip
mkdir git
cd git
git clone https://github.com/C-o-r-E/SPI-Py.git
sudo pip3 install SPI-Py/
sudo pip3 install RPi.GPIO
git clone https://github.com/C-o-r-E/msys.git
cd msys/client/
sudo python3 client.py
- Set up the webserver
- Set up wsgi
- Stripe API integration
- Square 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
- Test with 5v FTDI
- Polish the application