clubManager is a web app for managing all things related to club operations. Some of the things it does include:
- Link shortener
- Event check-ins / meeting attendance tracking
- Payment system for member dues and other ad-hoc payments (ex: club shirts), backed by Square
- Discord role management based on membership status
- Discord bot as an alternative interface for some of the above features
needs to be fleshed out, the deployment section will probably be helpful
first, install deps and create virtualenv: pipenv install
obtain the config.ini from Jason or Mason for Square, place at root of project
you'll need to install python 3.11 (preferably via pyenv), pipenv, nodejs (preferably via nvm), nginx, and postgresql before continuing. this assumes you are deploying on some debian-based system.
for a production deployment, you'll need to install pipenv globally as opposed to just for the current user which is recommended in pipenv docs: sudo apt install pipenv
. this is so that the pipenv binary is accessible in the systemd services.
once pipenv is installed, run ./deploy/init.sh
(sets up systemd services, does not start them).
- run server:
pipenv run python manage.py runserver
- run migrations:
pipenv run python manage.py migrate
- create migrations:
pipenv run python manage.py makemigrations
- run static:
pipenv run python manage.py collectstatic
- create superuser:
pipenv run python manage.py createsuperuser
to [re-]deploy: ./deploy/run.sh
(does not include pulling from git)
journalctl -e -u gunicorn.service
journalctl -e -u gunicorn.socket
journalctl -e -u discord_bot.service