Skip to content

emfcamp/quicktill-tillweb

This branch is 144 commits ahead of, 5 commits behind sde1000/quicktill-tillweb:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

539b1f5 · Jun 8, 2024
Jun 8, 2024
Jun 2, 2024
Feb 9, 2024
May 1, 2022
Feb 16, 2024
May 17, 2024
May 18, 2024
Apr 28, 2024
Jun 27, 2022
Aug 6, 2022
Apr 13, 2024
May 12, 2024
Apr 15, 2024
Apr 15, 2024
Apr 15, 2024
Nov 13, 2016
May 27, 2024
May 27, 2024
May 1, 2022

Repository files navigation

EMF Till web service

Infrastructure needed to bring up an instance of quicktill.tillweb, plus the public-facing web pages for https://bar.emf.camp/

This is the EMF-specific fork of the project and contains assumptions about how the EMF till is configured. There is a separate repo for the generic version of the project here.

Setup for development

Create a file config/secret_key containing a random secret, and an empty directory called database:

mkdir -p config
mkdir -p database
python3 -c "import secrets; print(secrets.token_urlsafe())" >config/secret_key

Run docker compose build to build the development images.

Before running the development web server for the first time, run docker compose run --rm app ./manage.py migrate to create database/db.sqlite3 and docker compose run --rm app ./manage.py createsuperuser to create your administrator account.

User account details, pages for the "Pages" app, opening hours and metadata about photos added to the "Photologue" app are all stored in database/db.sqlite3.

Use docker compose up to start the development web server. Once running, you should be able to access the project at http://localhost:8000/

The development web server should pick up any changes you make immediately. If you create a new migration, you'll need to stop and restart manually to execute the migration.

Press Ctrl+C to stop the development web server.

To clean up afterwards, run docker compose down --rmi local

The password for the tapboard PWA in DEBUG mode is "test".

Updating dependencies

If you update any dependencies in pyproject.toml you should run docker compose run --rm app poetry lock to update the poetry.lock file. This may take a long time because it will have to start from scratch without a cache. If you have poetry installed in your development environment, it may be faster to run poetry lock directly.

Afer updating dependencies you should run docker compose build again to rebuild the development images.

Developing without docker

To develop without docker you will need a local installation of poetry, and a postgresql database called "emfcamp" with a till database dump installed in it. You can find a suitable dump under docker/data/.

Install dependencies: poetry install

Create a secret key as above.

Create/update the django database: poetry run ./manage.py migrate

Create a superuser: poetry run ./manage.py createsuperuser

Run the development server: poetry run ./manage.py runserver

Compiling CSS from SASS/SCSS

NB these are done automatically when using Docker

One time compile for production (minified): docker compose run --rm app ./manage.py sass emf/static/emf/scss emf/static/emf/css -t compressed

Watch the folder for changes (for development): docker compose run --rm app ./manage.py sass emf/static/emf/scss emf/static/emf/css -t compressed --watch

About

EMF bar web interface

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PLpgSQL 95.7%
  • Python 2.4%
  • HTML 1.1%
  • JavaScript 0.5%
  • SCSS 0.3%
  • Dockerfile 0.0%