It's my first extensive
Django
project, which will help me to known some new technologies likeDocker
and DevOps tools for continuous integration and continuous delivery (CI/CD).Since the application is still in the development process, it is impossible to update the
README.md
frequently. Once some modules are refined, its more detailed description of how it works and screenshots will appear.
The idea to create an application was born during a darts competition in one of the local pubs, during which the results were written down on pieces of paper.
- collecting information about ongoing darts tournaments in one place, along with the possibility of signing up for players' lists
- automation of the registration and approval process of tournament participants
- automation of the selection of pairs of players
- keep games schedules
- displaying individual game results and statistics
- adding a
scoreboard
module that will help collect and convert points entered during the game to ultimately generate statistics for a given game and the entire tournament - rescaling the application to support more tournaments and users
- deploying and maintaining at VPS with own domain
- Python - version 3.12
- Django framework - version 5.0.3
- SQLite - version 3.45.2
- HTML - version 5
- CSS - version 3
- Bootstrap - version 5.3.0
- Docker
- and GitHub of course
- deploying on Virtual Personal Server with OS like Linux Ubuntu Server and own domain
- Nginx
- CI/CD
As a user who is not logged in, you can only see the basic information about planned and completed tournaments, such as date, name, city, place and the number of players approved by the organizer.
Such a not logged in user can, of course, create an account to have more options.
User - i.e. one who does not have the organizer
status, but has the ability to:
- see own profile (data that is saved in the database)
- change or add the data provided during registration
- simple registration for the tournament by clicking
Register me
button - see own registration status in tournament details (
registered
,player
,judge
) - see a list of approved players for a given tournament and their statuses
- after approval by the
organizer
and granting him the status of aplayer
orjudge
, he may perform these functions in the tournament for which he registered - reset own password
- become an
organizer
Organizer - i.e. one who has the organizer
status assigned by the administrator:
- has possibilities like
user
(except the last one of course) - additionally he can:
- add information about tournaments he organizes
- edit information about tournaments he have added
- grant and revoke
player
and/orjudge
status to registered participants in their tournaments - create a schedule of matches for approved players and assign judges to them
- enter match results
To check how this app works on-line, please feel free to go to pamid.pythonanywhere.com