Une application moderne de gestion de tâches et d'objectifs construite avec React, TypeScript, Tailwind CSS et Supabase.
- Connexion/Inscription avec Supabase Auth
- Protection des routes avec
ProtectedRoute - Gestion des sessions utilisateur
- Redirection automatique vers le dashboard après connexion
- Statistiques en temps réel des tâches et objectifs
- Affichage des tâches récentes
- Navigation rapide vers toutes les sections
- Interface responsive et moderne
- Création, modification et suppression de tâches
- Priorités (Faible, Moyenne, Haute)
- Dates d'échéance
- Tâches récurrentes
- Filtrage et tri avancés
- Actions en lot (compléter/supprimer plusieurs tâches)
- Création d'objectifs avec progression
- Catégorisation des objectifs
- Suivi de la progression
- Dates d'échéance
- Statistiques de performance
- Vue calendrier des tâches et événements
- Création d'événements
- Rappels et notifications
- Intégration avec les tâches
- Graphiques de performance
- Statistiques détaillées
- Tendances de productivité
- Rapports personnalisés
- Gestion du profil utilisateur
- Préférences personnalisées
- Statistiques personnelles
- Historique des activités
- Gestion des utilisateurs (admin)
- Statistiques système
- Monitoring des performances
- Gestion des rôles
- Frontend: React 18, TypeScript, Vite
- UI: Tailwind CSS, shadcn/ui, Lucide React
- Backend: Supabase (Auth, Database, Functions)
- Routing: React Router DOM
- State Management: React Query (TanStack Query)
- Notifications: React Hot Toast, Sonner
# Exécuter le script d'installation complet
./install-and-setup.sh- Cloner le projet
git clone <repository-url>
cd edge-task- Installer les dépendances
npm install- Configurer Supabase
# Installer Supabase CLI
npm install -g supabase
# Se connecter à Supabase
supabase login
# Lier le projet
supabase link --project-ref ccpkpjuiqhlqxgfszjnb
# Configurer la base de données
./fix-database.sh- Démarrer le serveur de développement
npm run devid(UUID, Primary Key)title(TEXT, NOT NULL)description(TEXT)priority(TEXT: 'low', 'medium', 'high')deadline(TIMESTAMP)is_completed(BOOLEAN)is_recurring(BOOLEAN)recurrence_rule(TEXT)user_id(UUID, Foreign Key)
id(UUID, Primary Key)title(TEXT, NOT NULL)description(TEXT)category(TEXT, NOT NULL)target_value(NUMERIC, NOT NULL)current_value(NUMERIC)unit(TEXT, NOT NULL)deadline(TIMESTAMP)is_completed(BOOLEAN)priority(TEXT: 'low', 'medium', 'high')user_id(UUID, Foreign Key)
id(UUID, Primary Key)title(TEXT, NOT NULL)description(TEXT)start_time(TIMESTAMP, NOT NULL)end_time(TIMESTAMP, NOT NULL)all_day(BOOLEAN)location(TEXT)color(TEXT)category_id(UUID, Foreign Key)user_id(UUID, Foreign Key)
id(UUID, Primary Key)name(TEXT, NOT NULL)color(TEXT)icon(TEXT)user_id(UUID, Foreign Key)
id(UUID, Primary Key)user_id(UUID, Foreign Key)title(TEXT, NOT NULL)message(TEXT)type(TEXT: 'info', 'success', 'warning', 'error')is_read(BOOLEAN)related_type(TEXT)related_id(UUID)
id(UUID, Primary Key)auth_user_id(UUID, Foreign Key)name(TEXT)avatar_url(TEXT)role(TEXT, DEFAULT 'user')
id(UUID, Primary Key)user_id(UUID, Foreign Key)theme(TEXT, DEFAULT 'light')language(TEXT, DEFAULT 'en')email_notifications(BOOLEAN, DEFAULT TRUE)push_notifications(BOOLEAN, DEFAULT TRUE)
- Row Level Security (RLS) activé sur toutes les tables
- Politiques de sécurité pour isoler les données par utilisateur
- Authentification gérée par Supabase Auth
- Protection des routes avec composant
ProtectedRoute
- Header responsive avec menu de navigation
- Navigation par icônes pour un accès rapide
- Indicateurs visuels pour les pages actives
- Menu mobile pour les petits écrans
- Design system cohérent avec shadcn/ui
- Thème sombre/clair supporté
- Animations fluides et transitions
- Accessibilité optimisée
- taskService: Gestion complète des tâches
- goalService: Gestion des objectifs
- categoryService: Gestion des catégories
- calendarService: Gestion des événements du calendrier
- notificationService: Système de notifications
- Données en temps réel avec Supabase
- Gestion d'erreurs robuste
- Drag & Drop pour réorganiser les tâches
- Recherche en temps réel
- Filtres avancés par statut, priorité, date
- Actions en lot pour gérer plusieurs éléments
- Compte Supabase
- Variables d'environnement configurées
- Base de données migrée
- Configurer les variables d'environnement
- Exécuter les migrations de base de données
- Déployer les fonctions Supabase
- Build et déployer l'application
- Fork le projet
- Créer une branche feature (
git checkout -b feature/AmazingFeature) - Commit les changements (
git commit -m 'Add some AmazingFeature') - Push vers la branche (
git push origin feature/AmazingFeature) - Ouvrir une Pull Request
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
Pour toute question ou problème :
- Ouvrir une issue sur GitHub
- Consulter la documentation Supabase
- Vérifier les logs de développement
Développé avec ❤️ en utilisant React, TypeScript et Supabase