eventcally/README.md
2020-12-09 08:43:06 +01:00

2.2 KiB

Goslar Event Prototype

Build Status Coverage Status Code style: black Updates

Website prototype using Python, Flask and Postgres running on Heroku.

Automatic Deployment

Deploy

Manual Installation

Requirements

  • Python 3.7
  • pip
  • Postgres with postgis

Create database

psql -c 'create database gsevpt;' -U postgres

Install and run

export DATABASE_URL="postgresql://postgres@localhost/gsevpt"
pip install -r requirements.txt
flask db upgrade
flask run --host 0.0.0.0

Scheduled/Cron jobs

Jobs that should run on a regular basis.

Daily

flask event update-recurring-dates

Administration

flask user add-admin-roles super@hero.com

Configuration

Create .env file in the root directory or pass as environment variables.

Security

Variable Function
SECRET_KEY A secret key for verifying the integrity of signed cookies. Generate a nice key using secrets.token_urlsafe().
SECURITY_PASSWORD_HASH Bcrypt is set as default SECURITY_PASSWORD_HASH, which requires a salt. Generate a good salt using: secrets.SystemRandom().getrandbits(128).

Send notifications via Mail

Variable Function
MAIL_DEFAULT_SENDER see https://pythonhosted.org/Flask-Mail/
MAIL_PASSWORD "
MAIL_PORT "
MAIL_SERVER "
MAIL_USERNAME "

Login with Google via OAuth

Variable Function
GOOGLE_OAUTH_CLIENT_ID Client Id
GOOGLE_OAUTH_CLIENT_SECRET Secret

Resolve addresses with Google Maps

Variable Function
GOOGLE_MAPS_API_KEY API Key with Places API enabled

Development

Development