Ce projet est une application web de gestion de tableaux, similaire à Trello, permettant la gestion de workspaces, de tableaux, de listes et de cartes.
- Création, modification et suppression de workspaces
- Personnalisation des paramètres du workspace
- Gestion des membres et des permissions
- Interface de tableau de bord personnalisable
- Création, modification et suppression de tableaux
- Système de templates prédéfinis
- Personnalisation des colonnes et des étiquettes
- Création, modification et suppression de listes
- Réorganisation par glisser-déposer
- Limitation du nombre de cartes par liste
- Création, modification et suppression de cartes
- Attribution d'utilisateurs et de dates d'échéance
- Système de commentaires et d'activité
- Pièces jointes et liens externes
- Étiquettes et catégories personnalisables
- Système de recherche global
- Filtres et vues personnalisées
- Intégration avec des outils externes
- Notifications en temps réel
- React avec TypeScript
- Material-UI pour les composants
- Redux pour la gestion d'état
- React Router pour la navigation
- Jest et React Testing Library pour les tests
- Axios pour les requêtes HTTP
- Styled-components pour le styling
- React DnD pour le glisser-déposer
- React Query pour la gestion du cache
- Node.js (v14 ou supérieur)
- npm ou yarn
- Git
- Cloner le repository :
git clone [URL_DU_REPO]- Installer les dépendances :
cd frontend
npm install- Configurer les variables d'environnement :
# Frontend (.env)
REACT_APP_API_URL=http://localhost:3001
REACT_APP_SOCKET_URL=ws://localhost:3001
REACT_APP_GOOGLE_ANALYTICS_ID=votre_id_ga- Lancer l'application :
cd frontend
npm startPour lancer l'application en version desktop (avec Electron) :
cd frontend
npm run electron:serveCette commande lancera l'application dans une fenêtre desktop native, avec tous les avantages d'une application de bureau :
- Intégration avec le système d'exploitation
- Accès aux fonctionnalités natives
- Meilleure performance
- Utilisation hors-ligne possible
Pour lancer les tests :
cd frontend
npm test
npm run test:coverageL'application suit une architecture moderne de React avec une séparation claire des responsabilités.
components/: Composants React réutilisablescommon/: Composants génériqueslayout/: Composants de mise en pageforms/: Composants de formulairecards/: Composants liés aux cartesboards/: Composants liés aux tableaux
pages/: Pages principales de l'applicationservices/: Services pour les appels APIstore/: Gestion d'état avec Reduxactions/: Actions Reduxreducers/: Réducteurs Reduxselectors/: Sélecteurs Redux
types/: Types TypeScriptutils/: Fonctions utilitaireshooks/: Hooks personnalisésassets/: Ressources statiquesstyles/: Styles globaux et thèmes
Pour déployer l'application en production :
# Build de production
cd frontend
npm run buildLe build créera un dossier build contenant les fichiers optimisés pour la production. Ces fichiers peuvent être déployés sur n'importe quel serveur web statique.
- Créer une branche pour votre fonctionnalité :
git checkout -b feature/nom-de-la-fonctionnalite- Commiter vos changements :
git commit -m "Description des changements"- Pousser vers la branche :
git push origin feature/nom-de-la-fonctionnalite- Créer une Pull Request
- Suivre les conventions de code existantes
- Ajouter des tests pour les nouvelles fonctionnalités
- Mettre à jour la documentation si nécessaire
- Respecter les règles de commit conventionnel
- S'assurer que tous les tests passent avant de soumettre une PR
Pour toute question ou problème :
- Ouvrir une issue sur GitHub
- Consulter la documentation
- Lazy loading des composants
- Optimisation des images
- Compression des assets
- Gestion optimisée du state
- Memoization des composants