A web-based dispatch board.
Go to file
Jake Bauer 9ca07fc07a Update documents before putting into cold storage. 2023-05-15 23:46:51 -04:00
src Add program files (re-create repo) 2021-07-10 00:22:51 -04:00
.gitignore Initial Commit 2021-07-10 00:22:32 -04:00
MANIFEST.in Initial Commit 2021-07-10 00:22:32 -04:00
README.md Update documents before putting into cold storage. 2023-05-15 23:46:51 -04:00
requirements.md Update documents before putting into cold storage. 2023-05-15 23:46:51 -04:00
test.sh Update documents before putting into cold storage. 2023-05-15 23:46:51 -04:00

README.md

Foot Patrol Digital Deployment Board (FP-DDB)

A web-based application to manage and update the Foot Patrol deployment board for Carleton University's Foot Patrol organization.

It's designed to be hosted on a Raspberry Pi and display a dispatch screen directly to a TV running in the office, with different separate dispatch and administration web interfaces accessible from computers in the office.

See the requirements document for the client's requirements.

NOTE: This project has been handed off to a current volunteer and is (presently) no longer being maintained. It is in a working state, although it could use some UI/UX improvements.

Development

This project uses Flask and SQLite3. It makes use of virtualenv to isolate the development environment from the system-wide python environment. In order to enter this virtual environment, use the following command from within the project directory:

. venv/bin/activate

Default passwords for both the dispatch and admin accounts is hunter2.

Installing Dependencies

Dependencies can be installed with pip install -e . which will install the code in "editable mode".

Running the Development Server

flask run can be used to run the test server. The server will automatically reload when changes are made to a file.

The following environment variables must be set before using the above command:

FLASK_APP=src
FLASK_ENV=development

Technologies

Currently targeted tech stack + reasons:

  • Python Flask web server
    • Easy to develop in
    • Non-performance-critical application
    • Capabilities of Django not needed
  • Sqlite3 database
    • Store coordinator credentials
    • Store teams and deployment status
    • Light file-based database, more robust than writing to regular files
    • Easy to interface with from python