Small webapp to track who was in which room at which time to backtrace potential viral infections
Go to file
Oskar Winkels b9a599fc97 Reflow Readme 2020-12-03 21:33:23 +01:00
docs Add resend requests to API docs 2020-12-01 15:48:10 +01:00
ftracker Fix errors in config files and namelist.py 2020-12-03 18:48:08 +01:00
res Add systemd service file (untested) 2020-12-03 18:53:34 +01:00
web Web: Add authentication UI bc native BasicAuth is shit (resolves #14) 2020-12-03 16:14:34 +01:00
.gitignore Rework config and add name list 2020-11-30 23:23:25 +01:00
LICENSE.md
README.md Reflow Readme 2020-12-03 21:33:23 +01:00
config.ini Fix errors in config files and namelist.py 2020-12-03 18:48:08 +01:00
setup.py Add API spec to resolve #2 2020-11-30 18:00:16 +01:00

README.md

FT Corona Tracker

Small webapp to track who was in which room at which time to backtrace potential viral infections.

WORK IN PROGRESS This project is still under heavy construction and not ready for use in production.

For Ideas and Progress see Issues.

Requirements

  • Unixoid system (linux, BSD, macOS). Windows might also work.
  • python 3.6+ (might be python3 on your system)
  • pip for python 3+ (might be pip3 on your system)

How to run

(Dev setup, prod setup not finished yet)

# clone, cd into repo
pip install -e .
python3 -m ftracker

Edit config.ini to tune your installation.

Then, point your browser at http://localhost:5000/?arrival=42.

Installation/Deployment

  1. FTracker Backend

As above:

# clone, cd into repo
pip install . # Use -e if you want to hack on the backend while installed.
  1. WSGI Server

You need a WSGI Middleware (using Flask's included werkzeug is discouraged for production environments.). I recommend uwsgi since it's flexible, fast and has nginx integration. A sample configuration file as well as service description files for both systemd and rc are included in res/ which you can adapt to your system (file paths etc.) (The systemd service file still untested, feel free to leave feedback).

  1. Webserver

You need a webserver. I recommend nginx because it's the industry standard and fast. A sample config file is included at res/ftracker.nginx.conf which you can adapt to your system (domain, SSL certs). The configuration should include: Webroot in web/ with a fallback to the WSGI handler for the backend.

Enabling SSL (https) and redirecting http to https is strongly encouraged, i recommend using let'sencrypt's certbot to easily obtain certificates.

  1. Customization

Edit config.ini to your liking. Restart the backend by restarting the uwsgi service, e.g. sudo systemctl restart ftracker or sudo service ftracker restart

License

Licensed under GNU GPL v3, see LICENSE.md for details.

Copyright (C) 2020 Oskar/FaSTTUBe