Web application to manage Pitt RAS Door Unlocker
Powered by VueJS, Flask and SQLite
To contribute to the project, you should have the following installed:
- NodeJS (Frontend)
- Python (Backend)
pipenvis also needed
- SQLite (min. version 3.10 and above)
Backend setup is straightforward, simply navigate to src/backend and run
pipenv install and then pipenv shell to install the python dependencies
and initialize the virtual environment
Note that data folder in src/backend is purely for the storage of the SQLITE
file and is also used as a mount point for the Docker Volume
Frontend is a little more involved, as the Vue-CLI must be installed first. Run npm install -g @vue/cli to install the necessary tooling. From there, navigate to src/frontend and run npm install to install all related dependencies. For more info about working VueJS and the Vue-CLI, please consult
the appropriate documentation.
The Web GUI is the primary means of managing users for the Door Unlocker system.
The GUI is a Vue.JS SPA backed by a REST API powered by Python/Flask and uses
SQLite as its presistence layer. For those familiar with SQLite and its quirks,
note that the intention is to have foreign keys enforced and thus all
transactions must be preceded with PRAGMA foreign_keys = ON