Application web pour les freelances et indépendants permettant de gérer plusieurs contrats de prestation, suivre les jours facturés et optimiser les jours de congés.
- Multi-contrats : Gérez plusieurs contrats simultanément avec des périodes et quotas différents
- Calendrier interactif : Visualisez et marquez les jours travaillés par glisser-déposer
- Statistiques en temps réel : Suivez votre progression de facturation par contrat et globalement
- Jours fériés : Prise en compte automatique des jours fériés belges/wallons
- Vacances scolaires : Affichage des vacances scolaires (Fédération Wallonie-Bruxelles)
- Congés tiers : Enregistrez les congés d'un proche pour optimiser vos propres repos
- Thème clair/sombre : Interface adaptée à vos préférences
- Multilingue : Disponible en français et anglais
- Export/Import : Sauvegardez et restaurez vos données en JSON
- 100% local : Aucune donnée envoyée sur un serveur, tout reste dans votre navigateur
# Cloner le dépôt
git clone https://github.com/votre-username/trackholiday.git
cd trackholiday
# Installer les dépendances
npm install
# Lancer en développement
npm run dev| Commande | Description |
|---|---|
npm run dev |
Lance le serveur de développement |
npm run build |
Compile pour la production |
npm run preview |
Prévisualise le build de production |
npm run lint |
Vérifie le code avec ESLint |
- React 19 - Bibliothèque UI
- TypeScript - Typage statique
- Vite 8 - Build tool
- Tailwind CSS 4 - Framework CSS
- date-fns - Manipulation des dates
src/
├── components/ # Composants React
├── hooks/ # Hooks personnalisés
├── i18n/ # Traductions
├── data/ # Données statiques (jours fériés, vacances)
├── utils/ # Fonctions utilitaires
└── types/ # Types TypeScript
- Créer un contrat : Allez dans Paramètres > Nouveau contrat
- Marquer les jours : Dans le Calendrier, cliquez ou glissez pour sélectionner les jours travaillés
- Suivre la progression : Le tableau de bord affiche vos statistiques en temps réel
- Exporter vos données : Dans Paramètres, utilisez "Exporter JSON" pour sauvegarder
Les données sont stockées localement dans le localStorage de votre navigateur. Elles ne sont jamais envoyées sur un serveur externe.
Pour transférer vos données vers un autre appareil :
- Exportez en JSON depuis Paramètres
- Importez le fichier sur l'autre appareil
Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou une pull request.