Commit Graph

14 Commits

Author SHA1 Message Date
137304090a chore: stage changes before history rewrite 2026-07-07 11:28:18 +08:00
6a49fedfbb feat(api): add public RESTful API with API key auth and documentation page 2026-07-07 09:22:11 +08:00
f448a900f5 feat(i18n): add English localization with per-user language preference and navbar toggle 2026-07-06 22:07:05 +08:00
68c88a7910 feat(postcards): add notes field to postcards with edit, detail, and truncated list display 2026-07-06 21:07:28 +08:00
b6d43b3db4 feat(profiles): add private notes field per profile, visible only to owner 2026-07-06 19:36:29 +08:00
501e27400b fix(models): resolve ambiguous foreign keys between User and InviteCode 2026-07-06 08:39:33 +08:00
755409f386 feat(admin-invites): show registered usernames per invite code, track invited_by_code_id on User 2026-07-06 08:37:49 +08:00
b58956937e feat(invite): add invite code registration system 2026-07-06 01:13:07 +08:00
b412f5001e feat(models): add showcase fields to User, Profile, Postcard 2026-07-05 23:35:45 +08:00
46670c72fa fix(auth): set session expires_at to non-nullable with 1 year max 2026-07-05 23:21:54 +08:00
ae2ed2d961 feat: add user settings page (change username/password) and remove public registration 2026-07-05 22:01:24 +08:00
9692ff8ade feat(auth): add remember me option with persistent DB sessions 2026-07-05 21:28:58 +08:00
2bd914532e feat: always display country code in uppercase (model validates + oninput) 2026-07-05 21:22:57 +08:00
0eca60300f feat: initial postcard manager - FastAPI + Jinja2 + SQLite 2026-07-05 16:06:03 +08:00