Application de suivi et de gestion personnelle.
src/
: Dossier principal contenant tout le code source de l'applicationcomponents/
: Composants React réutilisablesservices/
: Services pour la gestion des données et l'interaction avec l'APIutils/
: Fonctions utilitaires et helperstypes/
: Définitions des types TypeScriptdata/
: Données statiques et constantes
package.json
: Dépendances et scripts npmtsconfig.json
: Configuration TypeScriptvite.config.ts
: Configuration de Vite (bundler)tailwind.config.js
: Configuration de Tailwind CSSeslint.config.js
: Configuration ESLint pour le lintingpostcss.config.js
: Configuration PostCSS
src/main.tsx
: Point d'entrée de l'applicationsrc/App.tsx
: Composant racine de l'applicationsrc/parseConfig.ts
: Configuration de Parse (backend)src/parseModels.ts
: Modèles de données Parse
# Installer les dépendances
npm install
# Lancer le serveur de développement
npm run dev
# Construire pour la production
npm run build
-
Composants React
- Placer les composants réutilisables dans
src/components/
- Utiliser des composants fonctionnels avec hooks
- Nommer les fichiers en PascalCase (ex:
Button.tsx
)
- Placer les composants réutilisables dans
-
Services
- Placer la logique métier dans
src/services/
- Créer des services séparés pour chaque domaine fonctionnel
- Utiliser des interfaces TypeScript pour les types de données
- Placer la logique métier dans
-
Utilitaires
- Placer les fonctions utilitaires dans
src/utils/
- Créer des fichiers spécifiques pour chaque catégorie d'utilitaires
- Documenter les fonctions complexes
- Placer les fonctions utilitaires dans
-
Types
- Définir les interfaces et types dans
src/types/
- Exporter les types utilisés dans plusieurs fichiers
- Utiliser des types stricts pour une meilleure sécurité
- Définir les interfaces et types dans
-
Gestion d'État
- Utiliser React Context pour l'état global
- Préférer les hooks personnalisés pour la logique réutilisable
- Éviter la duplication de code
-
Style
- Utiliser Tailwind CSS pour le styling
- Suivre une approche mobile-first
- Maintenir une cohérence visuelle
-
Performance
- Optimiser les rendus avec
useMemo
etuseCallback
- Implémenter le lazy loading pour les composants lourds
- Minimiser les requêtes API
- Optimiser les rendus avec
-
Tests
- Écrire des tests unitaires pour les composants critiques
- Utiliser des tests d'intégration pour les flux importants
- Maintenir une bonne couverture de tests
- Créer une branche pour chaque nouvelle fonctionnalité
- Suivre les conventions de code existantes
- Ajouter des tests pour les nouvelles fonctionnalités
- Documenter les changements importants
- Créer une pull request avec une description claire
Le déploiement est géré automatiquement via GitHub Actions. Les changements sur la branche principale déclenchent automatiquement un déploiement.
Pour toute question ou problème, veuillez créer une issue sur GitHub.