Coaching documentation¶
Welcome. Here you will find the app's user guides, for coaches, club officials and athletes, and the operations guides for whoever runs the servers (systemd, nginx, PM2, deploy permissions and hosting docs.diasantos.com).
User guides¶
Getting started¶
- Getting started
Signing in, choosing club and season, home, alerts, profile and feedback.
- Athlete and parent area
What athletes and parents see and how they report an absence.
- Mobile app
Signing in, tabs and the modules available on the phone.
Competition¶
- Games
Every game tab: match, call-up and five, preparation, tactics, notes, notifications, score.
- Game sheet
Blocks, grid, page size, page breaks and printing.
- Competitions
Season competitions by echelon, series and FPB import.
- Opponents
Opponent clubs, teams per echelon and venues.
Planning¶
- Calendar
The month's practices, games and microcycles; creating practices and recurring practices.
- Practices
Session, planning, plan with drills, attendance, groups, closing and printing.
- Drills
Library, sharing, graphics and the court editor.
- Plays
Steps with teaching text, defensive reads, animation and breakdowns.
- Playbooks
Collect plays in a booklet with a cover, print it, and the team playbook.
- Cycles
Macrocycles, mesocycles and microcycles, training load and session goals.
Club¶
- Athletes
List, athlete profile, unavailability, invitations and pending items.
- Teams
Roster, staff, attendance and per-team settings.
- Staff
Coach and official profiles, grades, licences and accounts.
- Equipment
Kit inventory and jersey number assignment.
- Echelons
The club's age groups: ages, gender and description.
- Club settings
Club details, permissions, accounts, colours, absences and notifications.
Administration¶
- Platform administration
Clubs, seasons, accounts, site, maintenance and deploy.
Operations and deployment¶
- Systemd cron
Timer coaching-cron-tick → POST /api/cron/tick, env file, sudo during deploy.
- Nginx
Reverse proxy for the Next.js app and TLS; long timeouts for admin deploy (SSE).
- Hosting this site
Serve apps/docs/site/ from docs.diasantos.com with Certbot.
- Deploy user & permissions
Unix user coaching, sudoers for cron install, MkDocs build, Node version.
- PM2 & systemd
PATH, nvm, interpreter in ecosystem — PM2 under systemd without surprises.
- Ollama (LLM)
Linux/Debian install, OLLAMA_BASE_URL / OLLAMA_MODEL for the app, security.
Stack overview (production)¶
┌─────────────────┐
Internet ───────►│ nginx (TLS) │
│ app + docs │
└────────┬────────┘
│
┌───────────────┼───────────────┐
▼ ▼ ▼
┌────────────┐ ┌──────────────┐ ┌─────────────────┐
│ Next.js │ │ Static MkDocs │ │ systemd timer │
│ pm2 :3000 │ │ site/ │ │ → /api/cron/* │
└────────────┘ └──────────────┘ └─────────────────┘
│
▼
┌──────────────┐
│ PostgreSQL │
└──────────────┘
Prefer the deployment overview
Start with Deployment — overview for a ordered checklist and links to every guide.
Edit or build locally¶
From the repository root:
cd apps/docs
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
mkdocs serve
Open http://127.0.0.1:8000 (English). Use the language switcher in the header for Português (/pt/).
Production build¶
cd apps/docs
pip install -r requirements.txt
mkdocs build
Output: apps/docs/site/. The admin Deploy pipeline runs apps/docs/build-from-deploy.sh on the server.
Repository¶
Source Markdown lives under apps/docs/docs/ in the coaching_v2 repository — use Edit this page in the footer when you're browsing a topic.