613ffb394ce72473bdac6f17763259b908f7a3a5
Poker Portal
A small server-rendered poker ledger app for low-stakes no-limit hold'em nights.
Stack
- Python
- Flask
- Jinja templates
- Chart.js
- Append-only CSV event ledger
Stuff is does
- All-time leaderboard
- Session archive
- Per player stat pages
- Admin only login for adding ledger events
- Append only
entries.csvaudit trail - Buy-ins, cash-outs, note-only events, and correction events using negative amounts
- Cumulative profit chart and player charts
Ledger model
The app treats the CSV as an append-only audit trail.
Each row is one event:
buyincashoutnote
This means you do not edit old rows when something changes. Instead, you append:
- another buy-in row for a rebuy
- another cash-out row if they cash more later
- a negative amount to correct a mistaken buy-in or cash-out
- a
noterow for bookkeeping context
CSV format
data/entries.csv
id,created_at,session_date,player_name,event_type,amount_cents,note,actor
Run locally
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
export $(grep -v '^#' .env | xargs)
python app.py
Default environment values
The app reads these environment variables:
SECRET_KEYADMIN_USERNAMEADMIN_PASSWORD
Description
Poker Tracking, buy ins, cash outs, player statistics over time. etc.
1.1 MiB
0 Stars
1 Watchers
0 Forks
Languages
HTML
41.4%
Python
35.1%
CSS
23.4%