- ROADMAP: v1.3.0 déplacé dans Completed, item checkboxes [x] - WORKLOAD: réécrit pour refléter v1.3.0 + plan v1.4.0 - README: version 1.3.0, features à jour, tests 34/34
72 lines
2.9 KiB
Markdown
72 lines
2.9 KiB
Markdown
# WORKLOAD — FlowDeck Notion Clone
|
||
|
||
> **Début**: 2026-07-08 | **Version actuelle**: v1.3.0 | **Prochaine**: v1.4.0
|
||
|
||
## Avancement Global
|
||
|
||
| Phase | Description | Statut | Tests |
|
||
|-------|-------------|--------|-------|
|
||
| v0.2 – v0.9 | Base → Backend | ✅ | — |
|
||
| v1.0 | Production (lifespan, CI/CD) | ✅ | 28/28 |
|
||
| v1.1 | Pages & Sidebar Notion | ✅ | — |
|
||
| v1.2 | Éditeur Notion (slash menu, blocs) | ✅ | — |
|
||
| v1.3 | Database Concept (collections) | ✅ | 34/34 |
|
||
| v1.4 | Propriétés Avancées (14 types) | ⬜ | — |
|
||
| v1.5 | Relations & Rollups | ⬜ | — |
|
||
| v1.6 | Vues Calendrier/Timeline/Gallery/List | ⬜ | — |
|
||
| v1.7 | Vues Améliorées (group_by, card_size) | ⬜ | — |
|
||
| v1.8 | Sub-items & Dépendances | ⬜ | — |
|
||
| v1.9 | My Tasks & Dashboard Unifié | ⬜ | — |
|
||
| v2.0 | Éditeur Complet & Multi-Users | ⬜ | — |
|
||
|
||
---
|
||
|
||
## v1.3.0 — Database Concept (complété 2026-07-10)
|
||
|
||
### Tables
|
||
- [x] `collections` — base de données abstraite, schéma JSON, lien Gitea optionnel
|
||
- [x] `collection_pages` — pages avec `parent_id`, `property_values_json`, `position`
|
||
- [x] `collection_views` — vues configurables (`view_type`, `config_json`)
|
||
- [x] Index: `idx_cp_collection`, `idx_cp_parent`, `idx_cp_gitea`
|
||
|
||
### API
|
||
- [x] `GET/POST /db/api` — lister/créer collections
|
||
- [x] `GET/PUT/DELETE /db/api/{id}` — CRUD collection
|
||
- [x] `GET/POST /db/{id}/pages/api` — pages dans une collection
|
||
- [x] `GET/PUT/DELETE /db/pages/{id}/api` — CRUD page standalone
|
||
- [x] `GET /db/{id}` — vue HTML collection
|
||
- [x] `GET /db/boards/api` — boards Gitea comme collections
|
||
- [x] `GET /db/board/{o}/{r}/api` — board spécifique
|
||
- [x] `POST /db/board/{o}/{r}/sync` — sync board → collection
|
||
|
||
### Adapter
|
||
- [x] `GiteaBoardCompat` — `from_board()`, `from_card()`, `list_boards_as_collections()`, `sync_to_collection()`
|
||
|
||
### Infra
|
||
- [x] CSRF exempté pour `/db/`
|
||
- [x] Version 1.0.0 → 1.3.0
|
||
- [x] 34/34 tests passent
|
||
- [x] Tag git v1.3.0
|
||
|
||
---
|
||
|
||
## Prochaines étapes (v1.4.0 — Propriétés Avancées)
|
||
|
||
### Table `collection_properties`
|
||
- [ ] Remplacer `project_properties` (liée à `project_owner/name`) par `collection_properties` (liée à `collections`)
|
||
- [ ] Types: number, checkbox, url, email, phone, status (9 couleurs), files, unique_id
|
||
- [ ] Auto-propriétés: created_time, created_by, last_edited_time, last_edited_by
|
||
- [ ] Format number: nombre, %, €, $, £, ¥
|
||
|
||
### Intégration UI
|
||
- [ ] Property editor inline par type (select dropdown, date picker, checkbox...)
|
||
- [ ] Affichage des propriétés dans la modale de détail page
|
||
- [ ] Migration project_properties → collection_properties
|
||
|
||
## Notes
|
||
|
||
- **Stack**: FastAPI + Jinja2 + HTMX + Alpine.js + SortableJS + SQLite (WAL)
|
||
- **Docker**: python:3.12-slim, port 8080, volume /data
|
||
- **Tests**: pytest, 34 tests, client TestClient avec SQLite temporaire
|
||
- **CI/CD**: Gitea Actions (.gitea/workflows/ci.yml)
|