warchron_app/README.md
2026-02-18 19:06:39 +01:00

53 lines
No EOL
1.3 KiB
Markdown

# WarChron
A simple local app to track players' campaigns for tabletop wargames.
## Features
### Main logic
Manage a list of players to sign them up to be selectable for war(s) and campaign(s).
A "war" year contains several "campaign" events which contain several "battle" games organised in successive rounds.
Battle results determine campaign score which determines the war score.
Wars are independent.
### Design notes
* Players are global identities
* Influence tokens are scoped to a war
* Campaign order enables historical tie-breakers
* Effects are generic → future-proof
## Installation
### Requirements
- Python >= 3.12
- pip
### Setup
```bash
git clone <your-forge-address>/warchron_app.git
cd warchron_app
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
pip install -e .
```
### Run
`python main.py`
## Dev
### UI with QT Designer
Save UI design from QT designer as `ui_*_.ui` file and then convert them into python using:
`pyuic6 -x <file_path>.ui -o <file_path>.py`
### Code quality
Install mypy, black and flake8 into your IDE (also need flake8-pyproject to get pyproject.toml conf).
You can manually run them with `mypy .` or `flake8 .` from the project's root directory.