VTES tournament management
Project description
archon
Tournament management
Development install
This project uses npm, that you can install with nvm.
It also uses Python on the backend side, so install Python version >= 3.11
.
Finally, you'll need GNU Make for simple targets and processes defined in a Makefile. Four options if you are on Windows:
- Use Chocolatey as package manager and
choco install make
- Use the Windows Subsystem for Linux (WSL) feature
- Just install the GNU make binary for Windows
- Don't use
make
at all. The Makefile is just a shortcut, you can open it and copy/paste the commands in your Powershell.
nvm install node
nvm use node
python -m virtualenv .venv
source .venv/bin/activate
make update
We are using a couple of very standard tools and frameworks, that make update
will install and update for you:
-
Typescript our frontend language
-
Parcel as our build framework for frontend
-
FastAPI as our backend server framework, with Jinja2 for HTML templating, and its i18n extension for potential future translations
-
PostgreSQL for database, with psycopg3 as our library to instrument it
-
Black and Ruff for python formatting and linting, respectively
-
Twine to publish our Python package to the public PYPI repository.
-
PM2 to run our hot reload development services (front & back)
-
Geonames for countries and cities names and IDs
Make targets
make geodata
downlad and refresh the geographical data in geodatamake test
runs the tests, formatting and linting checksmake serve
runs a dev server with watchers for auto-reload when changes are made to the source filesmake clean
cleans the repository from all transient build filesmake build
builds the python packagemake release
creates and pushes a git tag for this version and publishes the package on PYPI
CLI
The archon
CLI gives access to useful DB-related commands when developing in local.
> archon --help
Usage: archon [OPTIONS] COMMAND [ARGS]...
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --install-completion Install completion for the current shell. │
│ --show-completion Show completion for the current shell, to copy it or customize the installation. │
│ --help Show this message and exit. │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ──────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ list │
│ reset-db │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Development database
You need a running PostgreSQL server, with an archon
superuser,
an archon
database owned by that superuser, with no password.
You can use the DB_USER
and DB_PWD
environment variables to use other values. The database name is not configurable.
Development server
Simply use make serve
to run the front and back services.
They constantly watch your files and rebuild the project automatically when there is any change.
Use pm2 logs
to keep an eye on what's going on and pm2 kill
to stop the services.
You can also use pm2 ps
to check if the services are up and running.
For more, see the PM2 documentation.
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 vtes_archon-0.2.tar.gz
.
File metadata
- Download URL: vtes_archon-0.2.tar.gz
- Upload date:
- Size: 1.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bd4a2e50fe9781b6ef02a31dc2035853d68f5bc108839d5ed375eaad446577a |
|
MD5 | c36b619adeee8654750dd616c94a8ca6 |
|
BLAKE2b-256 | 7ee2686f8cb862acb6c2eb01a2f6478836b58271e16fb54dda5fbc1f908f9e85 |
File details
Details for the file vtes_archon-0.2-py3-none-any.whl
.
File metadata
- Download URL: vtes_archon-0.2-py3-none-any.whl
- Upload date:
- Size: 1.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd29fbcec661fd8c1b7d0faa65da4ec9b9f7cf2a6c924ed34a97ff28d8d09ab9 |
|
MD5 | 1b3ad31a3a9f9600f30d66d06f806f1b |
|
BLAKE2b-256 | 2c2c5df824bdef4872e07dab18b3864166041f6ea1f4e8d35d3c0e203b6ef00f |