fp-ddb

A web-based dispatch board.
git clone https://git.jaderune.net/jbauer/fp-ddb
Log | Files | Refs | README

README.md (1837B)


      1 # Foot Patrol Digital Deployment Board (FP-DDB)
      2 
      3 A web-based application to manage and update the Foot Patrol deployment
      4 board for Carleton University's Foot Patrol organization.
      5 
      6 It's designed to be hosted on a Raspberry Pi and display a dispatch
      7 screen directly to a TV running in the office, with different separate
      8 dispatch and administration web interfaces accessible from computers in
      9 the office.
     10 
     11 See the requirements document for the client's requirements.
     12 
     13 **NOTE**: This project has been handed off to a current volunteer and is
     14 (presently) no longer being maintained. It is in a working state,
     15 although it could use some UI/UX improvements.
     16 
     17 ## Development
     18 
     19 This project uses Flask and SQLite3. It makes use of virtualenv to isolate the
     20 development environment from the system-wide python environment. In order to
     21 enter this virtual environment, use the following command from within the
     22 project directory:
     23 
     24 `. venv/bin/activate`
     25 
     26 Default passwords for both the `dispatch` and `admin` accounts is `hunter2`.
     27 
     28 ### Installing Dependencies
     29 
     30 Dependencies can be installed with `pip install -e .` which will install the
     31 code in "editable mode".
     32 
     33 ### Running the Development Server
     34 
     35 `flask run` can be used to run the test server. The server will automatically
     36 reload when changes are made to a file.
     37 
     38 The following environment variables must be set before using the above command:
     39 
     40 ```
     41 FLASK_APP=src
     42 FLASK_ENV=development
     43 ```
     44 
     45 ## Technologies
     46 
     47 Currently targeted tech stack + reasons:
     48 
     49 - Python Flask web server
     50     - Easy to develop in
     51     - Non-performance-critical application
     52     - Capabilities of Django not needed
     53 - Sqlite3 database
     54     - Store coordinator credentials
     55     - Store teams and deployment status
     56     - Light file-based database, more robust than writing to regular files
     57     - Easy to interface with from python