f253e3fcb17055f79a8b201887b667c3cc512fb3
All checks were successful
Deploy to K8s / deploy (push) Successful in 7s
Add internal/web/api package with Go structs for every /api/X route:
AdultsResponse, JuniorsResponse, PaymentsResponse, VersionResponse.
All fields carry explicit json: tags matching the Python view-model keys.
Key design choices:
- member_data / month_labels / raw_payments are nested objects (not
the pre-serialised JSON strings used in Jinja templates)
- Expected{Value int; Unknown bool} with custom MarshalJSON emits int
or the string "?" for junior single-attendance months
- RawTransaction covers the full 11-column payments sheet row
schemagen_test.go reflects all four response types via
github.com/invopop/jsonschema and golden-compares against committed
schemas in tests/fixtures/api-schema/. The JSONSchema() method on
Expected lives in the test file so the prod binary has no jsonschema
dependency.
Closes M5.1 in docs/plans/2026-05-03-2349-go-backend-rewrite-progress.md.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
FUJ Management Documentation
Welcome to the documentation for the FUJ Management application.
This project automates financial and operational management for the FUJ (Frisbee Ultimate Jablonec) club.
Navigation
Use the sidebar to explore the documentation:
- Project Notes: Main brainstorming and domain model.
- Scripts: Details about available CLI tools.
- Fee Specification: Rules for fee calculation.
For more technical details, check out the guides by Claude and Gemini in the sidebar.
Description
Brainstorming and possibly automatization of internal processes in FUJ frisbee team - mainly finances
Languages
Go
48.8%
Python
30%
HTML
15.1%
JavaScript
2.9%
CSS
1.5%
Other
1.7%