This is a rewrite of the original (commit 198f56f2c47831c2f8c192fbb45a47f7b1fb4e5b) management system for Flask 2.1 and Postgres. The focus was on maintainability in the future and easy modifications for future years.
The Makefile
should have a bunch of useful recipes for you. Once you clone the
repo for the first time, run make init_env
, which will set up the virtual
environment for development. If the dependencies ever change, you can run make upgrade_env
to install the new packages.
To test your code, run make daemon
, which will start a development server. It
will automatically reload after your changes.
You can use your choice of WSGI server. Instructions are provided below for uWSGI. Please ensure a current (3.x) version of Python and Pip.
- pip install uwsgi # or the equivalent for your distribution's package manager
- mkdir -p /etc/uwsgi/apps-available
- mkdir -p /var/log/uwsgi
- sudo chown -R nginx:nginx /var/log/uwsgi
- mkdir -p /var/app
- git clone https://github.com/WPI-ACM/Hack-WPI-Python /var/app/goathacks
- cd /var/app/goathacks && make init_env
- cp /var/app/goathacks/contrib/goathacks.ini /etc/uwsgi/apps-available/goathacks.ini
- cp /var/app/goathacks/contrib/goathacks.service /etc/systemd/system/goathacks.service
- cp /var/app/goathacks/goathacks/config.py.example /var/app/goathacks/goathacks/config.py
- $EDITOR /var/app/goathacks/goathacks/config.py