The backend app of Project Amber, a task list app
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
Timur Demin dd4906833a
Merge branch 'develop' at v0.0.5
vor 4 Monaten
bin Add an example docker-compose config vor 1 Jahr
doc BREAKING: switch to versioned API URI scheme vor 8 Monaten
project_amber Bump v0.0.5 vor 4 Monaten
.dockerignore Make the app run with Docker vor 1 Jahr
.drone.yml Remove excessive pip install vor 4 Monaten
.gitignore Add VSCode dev internals to gitignore vor 9 Monaten
.pylintrc Stop pylint from complaining on code that is easy to read vor 8 Monaten
Dockerfile Bump Python version in Dockerfile vor 4 Monaten
LICENSE.txt Initial commit vor 1 Jahr
Pipfile Add mypy config vor 4 Monaten
Pipfile.lock Add mypy config vor 4 Monaten
README.md Migrate to pipenv for dependency management vor 9 Monaten
docker-compose.yml Add an example docker-compose config vor 1 Jahr
requirements.txt Add mypy config vor 4 Monaten
setup.cfg Add mypy config vor 4 Monaten
setup.py Bump v0.0.5 vor 4 Monaten

README.md

Amber Backend

This is the backend app of Project Amber, a task list app.

This is a basic Flask/SQLAlchemy app that takes care of syncing tasks between devices.

Configuration

The config file is a JSON file that is loaded from either ./config.json or /etc/amber.json, whichever is found first.

Example config:

{
    "database": "sqlite:///file.db", // SQLAlchemy database URI
    // see https://docs.sqlalchemy.org/en/13/core/engines.html#database-urls
    "allow_signup": false, // whether to allow /api/signup or not
    "loglevel": 0, // 0: errors, 1: warnings, 2: info
    "domain": "https://your.domain.tld" // full domain with HTTPS, needed for CORS
}

If there are environment variables AMBER_DATABASE / AMBER_ALLOW_SIGNUP / AMBER_LOGLEVEL / AMBER_DOMAIN set, the program will respect them and use over the values provided with the config file.

Dependencies

This app directly depends on flask, flask-sqlalchemy, flask-cors, and bcrypt.

requirements.txt is left only so that pipenv is not needed while building the app in Docker. Please use pipenv in development.

Running in Docker

The Dockerfile included with the project assumes that:

  1. You’re going to use either PostgreSQL or SQLite.
  2. You’re going to run it behind a reverse proxy such as nginx (and running the app without a reverse proxy won’t work because of the current uwsgi configuration).

If you have to/prefer to use MariaDB, etc, you’ll have to add the necessary Python packages to the Docker image by hand. See SQLAlchemy docs for details.

Licenses

See LICENSE.txt.