Easy scheduling for regular film nights
Project description
Vote4Film
Simplify film selection for regular film nights. Participants can:
- Add films
- Vote for films
- Declare absences
- See the schedule which takes into account votes and absences
Admins can set the schedule of film nights.
This is a simple WSGI Web Application. The back-end is Django, and the front-end is dynamic HTML served by Django (no JavaScript is used).
Development
poetry install
to set-up the virtualenv (one-off)poetry run ./src/manage.py migrate
to set-up the local DB (one-off)poetry run ./src/manage.py runserver_plus
make fix
,make check
andmake test
before committing
Contributing
Pull requests are welcome :)
TODO: Fix dependency on bbfcapi
to be bbfcapi[apis]
and remove direct
dependency on pyhumps
.
Publishing
This application is published on PyPi.
- Ensure you have configured the PyPi repository with Poetry (one-off)
- Add the release notes in this README.md
poetry version minor
to bump the major/minor/patch version- Also bump version in
vote4film/__init__.py
poetry publish --build
to release
To publish to the test repository:
- Ensure you have configured the Test PyPi repository with Poetry (one-off)
poetry publish --build -r testpypi
to upload to the test repository
Deployment
Unfortunately, I will not provide detailed guidance for production deployment.
Some general tips:
- Create a virtualenv, e.g. in
~/virtualenv
- Install with
pip install vote4film[postgres]
- Write the configuration at
~/.config/vote4film/local.env
- Use Postgres as the database
- Use Nginx/uWSGI to to serve the site (with HTTPS)
- Run Django management commands using
./virtualenv/bin/manage
Changelog
Unpublished
...
v1.5.2 - 2020-04-04
- Fix link to calender when there is no upcoming event
v1.5.1 - 2020-04-04
- Fix call-to-action flow for the upcoming page
v1.5.0 - 2020-04-04
- Overhaul user interface
- Enable additional Sentry features including tracing
v1.4.0 - 2020-03-22
- Allow users to change their vote
- Redirect the user to the schedule after registering for the event
- Hide upcoming film until the user has voted for all films
- Add actually usable admin interface
- Add optional Sentry integration
v1.3.0 - 2020-03-22
- Fix error adding film when age rating on IMDB/OMDB is "N/A"
- Add BBFC age ratings
v1.2.3 - 2020-02-01
- Redirect to upcoming schedule after voting for every film
- Fix HTTP 500 error when on schedule page without registering for the event
v1.2.2 - 2019-12-05
- Fix HTTP 500 error when adding a film that was already added (again)
- Highlight calender and vote links when there is a user action to take
- Pick the oldest added film for upcoming when scores are a draw
v1.2.1 - 2019-11-21
- Remove "film is not available" from the voting page
- Remove "vote for this film" from the voting page
- Fix the upcoming page asking absent users to register on calender
v1.2.0 - 2019-11-21
- Fix ranking films with zero votes as number one
- Hide upcoming film until the user has registered for the next event
- Clarify what will happen when adding a film by giving the user more choices
- Fix HTTP 500 error when adding a film that was already added
- Hide a film's votes from the user until they have voted
v1.1.0 - 2019/11/16
- Show the register of present/absent users for upcoming films
- Fix not highlighting films that are not available to be watched
- Fix parsing of "Not Rated" age ratings resulting in an error
v1.0.9 - 2019/11/13
- Actually let's not be too dumb about packaging
v1.0.8 - 2019/11/13
- Rename management command from vote4film to manage
- Stop trying to be smart about packaging
v1.0.7 - 2019/11/13
- The same fixes as v1.0.6 but for real this time
v1.0.6 - 2019/11/13
- Fix url patterns for internal apps in installed environment
- Fix missing template files in PyPi package (so typical!)
v1.0.5 - 2019/11/12
- Add optional postgres support, e.g.
pip install vote4film[postgres]
v1.0.4 - 2019/11/12
- Fix bug loading config from XDG config home (sigh)
- Fix django-extensions being missed from dependencies
v1.0.3 - 2019/11/12
- Fix config sub-directory used in XDG config home
v1.0.2 - 2019/11/12
- Load configuration from XDG config home
v1.0.1 - 2019/11/10
- First release of Vote4Film
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file vote4film-1.5.2.tar.gz
.
File metadata
- Download URL: vote4film-1.5.2.tar.gz
- Upload date:
- Size: 44.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.5 CPython/3.8.2 Linux/5.5.13-arch2-1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c0578cd86f2d88f9362a1346d5463d734b5ec1e4bc184e4362594593735edb6 |
|
MD5 | 2c3cc868a926f077fa48fb9dd1583fbb |
|
BLAKE2b-256 | 533efa97692216bda8807fc53493a4777d83d10faaa8e9fa208f8acb80d45fbc |
File details
Details for the file vote4film-1.5.2-py3-none-any.whl
.
File metadata
- Download URL: vote4film-1.5.2-py3-none-any.whl
- Upload date:
- Size: 59.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.5 CPython/3.8.2 Linux/5.5.13-arch2-1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 256aa71cb7760e6a606c1bf00d7e18a7198630b47763c273b6013863e32bde51 |
|
MD5 | 29eb439550932f63e1905f10182e6a6c |
|
BLAKE2b-256 | b342cc5dcc04f8bc9991ed4026d420b3fff895dda60c76416869169904e60da4 |