feat: expand TODO.md with multi-user and mobile interface plans
- Added detailed sections for transitioning to a multi-tenant architecture, including authentication, data model adjustments, and service modifications. - Introduced a comprehensive migration plan for user data isolation and security considerations. - Outlined phases for developing a dedicated mobile interface, addressing current usability issues and enhancing user experience on mobile devices. - Included specific tasks for mobile components and UX optimizations.
This commit is contained in:
90
TODO.md
90
TODO.md
@@ -498,6 +498,96 @@ src/
|
||||
└── services/ # Services backend (à déplacer)
|
||||
```
|
||||
|
||||
### 👥 Gestion multi-utilisateurs (PROJET MAJEUR)
|
||||
|
||||
#### **Architecture actuelle → Multi-tenant**
|
||||
- **Problème** : App mono-utilisateur avec données globales
|
||||
- **Solution** : Transformation en app multi-utilisateurs avec isolation des données
|
||||
|
||||
#### **Plan de migration**
|
||||
- [ ] **Phase 1: Authentification**
|
||||
- [ ] Système de login/mot de passe (NextAuth.js ou custom)
|
||||
- [ ] Gestion des sessions sécurisées
|
||||
- [ ] Pages de connexion/inscription/mot de passe oublié
|
||||
- [ ] Middleware de protection des routes
|
||||
|
||||
- [ ] **Phase 2: Modèle de données multi-tenant**
|
||||
- [ ] Ajouter `userId` à toutes les tables (tasks, daily, tags, preferences, etc.)
|
||||
- [ ] Migration des données existantes vers un utilisateur par défaut
|
||||
- [ ] Contraintes de base de données pour l'isolation
|
||||
- [ ] Index sur `userId` pour les performances
|
||||
|
||||
- [ ] **Phase 3: Services et API**
|
||||
- [ ] Modifier tous les services pour filtrer par `userId`
|
||||
- [ ] Middleware d'injection automatique du `userId` dans les requêtes
|
||||
- [ ] Validation que chaque utilisateur ne voit que ses données
|
||||
- [ ] API d'administration (optionnel)
|
||||
|
||||
- [ ] **Phase 4: UI et UX**
|
||||
- [ ] Header avec profil utilisateur et déconnexion
|
||||
- [ ] Onboarding pour nouveaux utilisateurs
|
||||
- [ ] Gestion du profil utilisateur
|
||||
- [ ] Partage optionnel entre utilisateurs (équipes)
|
||||
|
||||
#### **Considérations techniques**
|
||||
- **Base de données** : Ajouter `userId` partout + contraintes
|
||||
- **Sécurité** : Validation côté serveur de l'isolation des données
|
||||
- **Performance** : Index sur `userId`, pagination pour gros volumes
|
||||
- **Migration** : Script de migration des données existantes
|
||||
|
||||
### 📱 Interface mobile adaptée (PROJET MAJEUR)
|
||||
|
||||
#### **Problème actuel**
|
||||
- Kanban non adapté aux écrans tactiles petits
|
||||
- Drag & drop difficile sur mobile
|
||||
- Interface desktop-first
|
||||
|
||||
#### **Solution : Interface mobile dédiée**
|
||||
- [ ] **Phase 1: Détection et responsive**
|
||||
- [ ] Détection mobile/desktop (useMediaQuery)
|
||||
- [ ] Composant de switch automatique d'interface
|
||||
- [ ] Breakpoints adaptés pour tablettes
|
||||
|
||||
- [ ] **Phase 2: Interface mobile pour les tâches**
|
||||
- [ ] **Vue liste simple** : Remplacement du Kanban
|
||||
- [ ] Liste verticale avec statuts en badges
|
||||
- [ ] Actions par swipe (marquer terminé, changer statut)
|
||||
- [ ] Filtres simplifiés (dropdown au lieu de sidebar)
|
||||
- [ ] **Actions tactiles**
|
||||
- [ ] Tap pour voir détails
|
||||
- [ ] Long press pour menu contextuel
|
||||
- [ ] Swipe left/right pour actions rapides
|
||||
- [ ] **Navigation mobile**
|
||||
- [ ] Bottom navigation bar
|
||||
- [ ] Sections : Tâches, Daily, Jira, Profil
|
||||
|
||||
- [ ] **Phase 3: Daily mobile optimisé**
|
||||
- [ ] Checkboxes plus grandes (touch-friendly)
|
||||
- [ ] Ajout rapide par bouton flottant
|
||||
- [ ] Calendrier mobile avec navigation par swipe
|
||||
|
||||
- [ ] **Phase 4: Jira mobile**
|
||||
- [ ] Métriques simplifiées (cartes au lieu de graphiques complexes)
|
||||
- [ ] Filtres en modal/drawer
|
||||
- [ ] Synchronisation en background
|
||||
|
||||
#### **Composants mobiles spécifiques**
|
||||
```typescript
|
||||
// Exemples de composants à créer
|
||||
- MobileTaskList.tsx // Remplace le Kanban
|
||||
- MobileTaskCard.tsx // Version tactile des cartes
|
||||
- MobileNavigation.tsx // Bottom nav
|
||||
- SwipeActions.tsx // Actions par swipe
|
||||
- MobileDailyView.tsx // Daily optimisé mobile
|
||||
- MobileFilters.tsx // Filtres en modal
|
||||
```
|
||||
|
||||
#### **Considérations UX mobile**
|
||||
- **Simplicité** : Moins d'options visibles, plus de navigation
|
||||
- **Tactile** : Boutons plus grands, zones de touch optimisées
|
||||
- **Performance** : Lazy loading, virtualisation pour longues listes
|
||||
- **Offline** : Cache local pour usage sans réseau (PWA)
|
||||
|
||||
---
|
||||
|
||||
*Focus sur l'expérience utilisateur et le design moderne. App standalone prête pour évoluer vers une plateforme d'intégration complète.*
|
||||
|
||||
Reference in New Issue
Block a user