# TODO List ## High Priority - [x] Fix MnemoShelf routing so the v2 pipeline mounts at `/api/v2` (restores public packs listing) - [x] **COMPLETED** - Implement User Tasks System Backend API (6 endpoints, 3 models, data seeding) - [x] **COMPLETED** - Set up Forgejo domain (code.mnemo-cards.online) with SSL, IP blocking, and ROOT_URL fix - [ ] Verify project builds successfully (`flutter build`) - [ ] Run all existing tests (`flutter test`) - [ ] Check code generation (`./codegen.sh`) - [ ] Review linter issues (`dart analyze`) - [ ] Investigate Isar collection-id failure when running `dart test` for the whole suite ## Medium Priority - [ ] Review existing codebase architecture - [x] **COMPLETED** - Set up Let's Encrypt SSL certificates for api.memo-cards.online with automatic renewal - [x] **COMPLETED** - Update nginx configuration for HTTPS-only API (redirect HTTP to HTTPS, proxy to port 8443) - [x] **COMPLETED** - Changed to multi-domain certificate approach (bypasses DNS subdomain requirements) - [ ] Verify HTTPS-only functionality and test API endpoints over SSL - [ ] Verify database operations - [x] Review API endpoints and documentation (v1 removal & v2 surface audit) ## Low Priority - [ ] Update README.md with proper project description - [ ] Review backup strategy and retention - [ ] Check Python utilities integration - [ ] Review deployment scripts ## Architecture Tasks - [x] Replace dynamic user handling with typed `UserModel` references in access policies - [ ] Implement `yx_state` and `yx_scope` if not already present - [ ] Ensure clean architecture principles are followed - [ ] Review dependency injection setup - [ ] Check error handling implementation ## Testing Tasks - [ ] Write unit tests for missing functionalities - [ ] Add integration tests for new v2 endpoints (ads, users, promocodes, admin) - [ ] Review test coverage - [ ] Add mock tests for external dependencies - [x] Refresh Packs API v2 test coverage and ensure access control context is provided - [x] Add regression tests for authorizeV2 optional authentication handling on pack routes - [x] Cover anonymous and authenticated buy-page fallbacks for private packs in Packs API v2 ## Telegram Bot - [x] Allow Telegram bot to override backend API base URL via `--backend-url` CLI flag and env vars - [ ] Document production bot startup command with new backend URL option ## Notes - Reference `../mnemo_cards` app for design and features - Do not copy architecture from reference app - Follow Flutter/Dart best practices - Use Shelf framework patterns