723152cdadd2ea2ec2fe3fc766672c57723a3f6f
All checks were successful
Deploy to K8s / deploy (push) Successful in 11s
The transaction-row parser in services/membership/sources.go used a helper (`getVal`) that did `fmt.Sprint(row[i])` before passing to `matching.FormatDate`. The Sheets API returns date-formatted cells as `float64` (Sheets serial-day numbers); pre-stringifying defeated `FormatDate`'s `case float64:` dispatch, so values like 46147 leaked through unchanged as the string "46147" instead of being converted to "2026-05-05". Surfaced by `make parity` (M5.4) — every `transactions[].date` on /api/adults and /api/juniors differed between Python and Go. Python side passes the raw value through directly (`isinstance(val, (int, float))` in scripts/match_payments.py format_date), so it was always correct. Added a `getRaw` helper that returns row[i] without stringifying; only the date column needs it. Extended TestLoadTransactions with a numeric-serial-day row to lock in the regression. 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%