# DelphiCG Minimal Database App — TODO Refer to `del.plan.md` for context. Check off items as they’re completed. - [ ] Create project directories and empty files per structure - [ ] Create requirements.txt with minimal deps - [ ] Copy delphi-logo.webp into static/logo/ - [ ] Set up SQLAlchemy Base and engine/session helpers - [ ] Add User model with username and password_hash - [ ] Add Client model (rolodex_id and core fields) - [ ] Add Phone model with FK to Client - [ ] Add Case model (file_no unique, FK to Client) - [ ] Add Transaction model with FK to Case - [ ] Add Document model with FK to Case - [ ] Add Payment model with FK to Case - [ ] Create tables and seed default admin user - [ ] Create FastAPI app with DB session dependency - [ ] Add SessionMiddleware with SECRET_KEY from env - [ ] Configure Jinja2 templates and mount static files - [ ] Create base.html with Bootstrap 5 CDN and nav - [ ] Implement login form, POST handler, and logout - [ ] Create login.html form - [ ] Implement dashboard route listing cases - [ ] Add simple search by file_no/name/keyword - [ ] Create dashboard.html with table and search box - [ ] Implement case view and edit POST - [ ] Create case.html with form and tabs - [ ] Implement admin page with file upload - [ ] Create admin.html with upload form and results - [ ] Build CSV import core with dispatch by filename - [ ] Importer for ROLODEX → Client - [ ] Importer for PHONE → Phone - [ ] Importer for FILES → Case - [ ] Importer for LEDGER → Transaction - [ ] Importer for QDROS → Document - [ ] Importer for PAYMENTS → Payment - [ ] Wire admin POST to run selected importers - [ ] Run app and test login/import/list/case-edit - [ ] Add minimal Dockerfile and compose for local run