feat: overhaul TODO.md and enhance Kanban components
- Updated TODO.md to reflect the new project structure and phases, marking several tasks as completed. - Enhanced Kanban components with a tech-inspired design, including new styles for columns and task cards. - Removed the obsolete reminders service and task processor, streamlining the codebase for better maintainability. - Introduced a modern API for task management, including CRUD operations and improved error handling. - Updated global styles for a cohesive dark theme and added custom scrollbar styles.
This commit is contained in:
100
scripts/seed-data.ts
Normal file
100
scripts/seed-data.ts
Normal file
@@ -0,0 +1,100 @@
|
||||
import { tasksService } from '../services/tasks';
|
||||
import { TaskStatus, TaskPriority } from '../lib/types';
|
||||
|
||||
/**
|
||||
* Script pour ajouter des données de test avec tags et variété
|
||||
*/
|
||||
async function seedTestData() {
|
||||
console.log('🌱 Ajout de données de test...');
|
||||
console.log('================================');
|
||||
|
||||
const testTasks = [
|
||||
{
|
||||
title: '🎨 Redesign du dashboard',
|
||||
description: 'Créer une interface moderne et intuitive pour le tableau de bord principal',
|
||||
status: 'in_progress' as TaskStatus,
|
||||
priority: 'high' as TaskPriority,
|
||||
tags: ['design', 'ui', 'frontend'],
|
||||
dueDate: new Date('2025-01-20')
|
||||
},
|
||||
{
|
||||
title: '🔧 Optimiser les performances API',
|
||||
description: 'Améliorer les temps de réponse des endpoints et ajouter la pagination',
|
||||
status: 'todo' as TaskStatus,
|
||||
priority: 'medium' as TaskPriority,
|
||||
tags: ['backend', 'performance', 'api'],
|
||||
dueDate: new Date('2025-01-25')
|
||||
},
|
||||
{
|
||||
title: '✅ Tests unitaires composants',
|
||||
description: 'Ajouter des tests Jest/RTL pour les composants principaux',
|
||||
status: 'done' as TaskStatus,
|
||||
priority: 'medium' as TaskPriority,
|
||||
tags: ['testing', 'jest', 'quality'],
|
||||
dueDate: new Date('2025-01-10')
|
||||
}
|
||||
];
|
||||
|
||||
let createdCount = 0;
|
||||
let errorCount = 0;
|
||||
|
||||
for (const taskData of testTasks) {
|
||||
try {
|
||||
const task = await tasksService.createTask(taskData);
|
||||
|
||||
const statusEmoji = {
|
||||
'todo': '⏳',
|
||||
'in_progress': '🔄',
|
||||
'done': '✅',
|
||||
'cancelled': '❌'
|
||||
}[task.status];
|
||||
|
||||
const priorityEmoji = {
|
||||
'low': '🔵',
|
||||
'medium': '🟡',
|
||||
'high': '🔴'
|
||||
}[task.priority];
|
||||
|
||||
console.log(` ${statusEmoji} ${priorityEmoji} ${task.title}`);
|
||||
console.log(` Tags: ${task.tags?.join(', ') || 'aucun'}`);
|
||||
if (task.dueDate) {
|
||||
console.log(` Échéance: ${task.dueDate.toLocaleDateString('fr-FR')}`);
|
||||
}
|
||||
console.log('');
|
||||
|
||||
createdCount++;
|
||||
} catch (error) {
|
||||
console.error(` ❌ Erreur pour "${taskData.title}":`, error instanceof Error ? error.message : error);
|
||||
errorCount++;
|
||||
}
|
||||
}
|
||||
|
||||
console.log('📊 Résumé:');
|
||||
console.log(` ✅ Tâches créées: ${createdCount}`);
|
||||
console.log(` ❌ Erreurs: ${errorCount}`);
|
||||
|
||||
// Afficher les stats finales
|
||||
const stats = await tasksService.getTaskStats();
|
||||
console.log('');
|
||||
console.log('📈 Statistiques finales:');
|
||||
console.log(` Total: ${stats.total} tâches`);
|
||||
console.log(` À faire: ${stats.todo}`);
|
||||
console.log(` En cours: ${stats.inProgress}`);
|
||||
console.log(` Terminées: ${stats.completed}`);
|
||||
console.log(` Annulées: ${stats.cancelled}`);
|
||||
console.log(` Taux de completion: ${stats.completionRate}%`);
|
||||
}
|
||||
|
||||
// Exécuter le script
|
||||
if (require.main === module) {
|
||||
seedTestData().then(() => {
|
||||
console.log('');
|
||||
console.log('✨ Données de test ajoutées avec succès !');
|
||||
process.exit(0);
|
||||
}).catch((error) => {
|
||||
console.error('💥 Erreur fatale:', error);
|
||||
process.exit(1);
|
||||
});
|
||||
}
|
||||
|
||||
export { seedTestData };
|
||||
Reference in New Issue
Block a user