Find a file
2023-02-11 23:22:08 +01:00
app Improved readability of python code by adding/removing newlines, identation, etc. 2023-02-11 22:14:01 +01:00
data Adjusted caddy logging format 2023-02-11 23:22:08 +01:00
project Moved locales into app directory #16 2023-02-11 18:25:00 +01:00
scripts Ported archive script to new structure #16 2023-02-11 22:03:00 +01:00
.gitignore Ported archive script to new structure #16 2023-02-11 22:03:00 +01:00
LICENSE Initial commit - existing project files 2022-03-16 12:11:30 +01:00
manage.py Added session-autocleaner, changed some script filenames, changed shebang of manage.py #16 2023-02-11 21:22:52 +01:00
README.md Added session-autocleaner, changed some script filenames, changed shebang of manage.py #16 2023-02-11 21:22:52 +01:00
requirements.txt Completely re-structured the project from scratch, wrote a better bootstrap script, changed configuration format to yaml, improved Caddyfile, and more. #15 #16 #20 2023-02-11 17:23:57 +01:00
start.sh Added session-autocleaner, changed some script filenames, changed shebang of manage.py #16 2023-02-11 21:22:52 +01:00

Drinks Manager (Season 3)

Note: This software is tailored to my own needs. I probably won't accept feature requests, and don't recommend you to use this software if this isn't exactly what you are looking for.

Can't keep track of the number of drinks your guests drink? Now you have a web interface that really tries to make things less complicated- for you and your guests.

This (exaggeration intended) most incredible piece of software is written in Python, HTML, CSS, JS, Bash and uses Django and PostgreSQL.
You have to bring your own PostgreSQL Database though.

Getting started

System Requirements

Beneath a PostgreSQL DBMS, you need the following things:

  • pg_config (Ubuntu: libpq-dev, RHEL: libpq-devel)
  • Caddy 2.4.3+ (HTTP Reverse Proxy & Static File Server)
  • gcc, gettext
  • Python 3.9+
    • venv
    • pip
  • Python header files (RHEL: python3-devel, Ubuntu: python3-dev)

Database

This project is using PostgreSQL. After creating a user and database for this application, make shure to

revoke all on schema public from PUBLIC;

and revoke/grant other privileges accordingly to secure the database against public access.

Configuration

Create the configuration file by copying ./data/config.example.yml to ./data/config.yml, and modify it for your needs.

Create Environment & Install dependencies

Run the following from the main directory:

./scripts/setup-env.sh

Create admin account

./scripts/create-admin.sh

This also runs all necessary migrations.

Activate venv

On every new session, before running commands with manage.py, running special scripts, or developing, you have to activate the virtual environment:

source ./venv/bin/activate

If you see (venv) before your command prompt, it worked!

Usage

To start the Application and Webserver, run

./start.sh

or

./start.sh --devel