tududi/backend/seeders/expanded-tasks.js
Chris 03f38f05dc
Setup intelligence (#84)
* Add next suggestions and remove console logs

* Add pomodoro timer

* Add pomodoro switch in settings

* Fix pomodoro setting

* Add timezones to settings

* Fix an issue with password reset

* Cleanup

* Sort tags alphabetically

* Clean up today's view

* Add an indicator for repeatedly added to today

* Refactor tags

* Add due date today item

* Move recurrence to the subtitle area

* Fix today layout

* Add a badge to Inbox items

* Move inbox badge to sidebar

* Add quotes and progress bar

* Add translations for quotes

* Fix test issues

* Add helper script for docker local

* Set up overdue tasks

* Add  linux/arm/v7 build to deploy script

* Add  linux/arm/v7 build to deploy script pt2

* Fix an issue with helmet and SSL

* Add volume db persistence

* Fix cog icon issues
2025-06-27 14:02:18 +03:00

252 lines
No EOL
16 KiB
JavaScript

// Helper function to create expanded task data
function createExpandedTaskData(projects, getRandomDate, getPastDate) {
return [
// Website Redesign Project Tasks (Project 0)
{ name: 'Research competitor websites', project_id: projects[0].id, priority: 1, status: 2, completed_at: getPastDate(5) },
{ name: 'Create wireframes for homepage', project_id: projects[0].id, priority: 2, status: 1 },
{ name: 'Design new color palette', project_id: projects[0].id, priority: 1, status: 0 },
{ name: 'Write content for About page', project_id: projects[0].id, priority: 1, status: 0 },
{ name: 'Set up staging environment', project_id: projects[0].id, priority: 2, status: 0, due_date: getRandomDate(7) },
{ name: 'Optimize images for web', project_id: projects[0].id, priority: 1, status: 0 },
{ name: 'Implement responsive design', project_id: projects[0].id, priority: 2, status: 0 },
{ name: 'Test cross-browser compatibility', project_id: projects[0].id, priority: 1, status: 0 },
{ name: 'Setup Google Analytics', project_id: projects[0].id, priority: 1, status: 0 },
{ name: 'Create contact form', project_id: projects[0].id, priority: 1, status: 0 },
{ name: 'Write SEO meta descriptions', project_id: projects[0].id, priority: 1, status: 0 },
{ name: 'Design mobile navigation', project_id: projects[0].id, priority: 2, status: 0 },
{ name: 'Create footer section', project_id: projects[0].id, priority: 0, status: 0 },
{ name: 'Add social media icons', project_id: projects[0].id, priority: 0, status: 0 },
{ name: 'Setup SSL certificate', project_id: projects[0].id, priority: 2, status: 0, due_date: getRandomDate(5) },
// Learn React Native Project Tasks (Project 1)
{ name: 'Complete React Native tutorial', project_id: projects[1].id, priority: 2, status: 1 },
{ name: 'Build first mobile app', project_id: projects[1].id, priority: 2, status: 0 },
{ name: 'Learn about navigation', project_id: projects[1].id, priority: 1, status: 0 },
{ name: 'Study state management', project_id: projects[1].id, priority: 1, status: 0 },
{ name: 'Practice with APIs', project_id: projects[1].id, priority: 1, status: 0 },
{ name: 'Setup development environment', project_id: projects[1].id, priority: 2, status: 2, completed_at: getPastDate(10) },
{ name: 'Learn about debugging tools', project_id: projects[1].id, priority: 1, status: 0 },
{ name: 'Study push notifications', project_id: projects[1].id, priority: 1, status: 0 },
{ name: 'Learn about app deployment', project_id: projects[1].id, priority: 1, status: 0 },
{ name: 'Practice with AsyncStorage', project_id: projects[1].id, priority: 1, status: 0 },
// Home Renovation Project Tasks (Project 2)
{ name: 'Get quotes from contractors', project_id: projects[2].id, priority: 2, status: 0, due_date: getRandomDate(14) },
{ name: 'Choose kitchen tiles', project_id: projects[2].id, priority: 1, status: 0 },
{ name: 'Order new appliances', project_id: projects[2].id, priority: 2, status: 0, due_date: getRandomDate(21) },
{ name: 'Plan bathroom layout', project_id: projects[2].id, priority: 1, status: 0 },
{ name: 'Select paint colors', project_id: projects[2].id, priority: 1, status: 1 },
{ name: 'Research flooring options', project_id: projects[2].id, priority: 1, status: 2, completed_at: getPastDate(3) },
{ name: 'Schedule plumbing inspection', project_id: projects[2].id, priority: 2, status: 0, due_date: getRandomDate(10) },
{ name: 'Order cabinet hardware', project_id: projects[2].id, priority: 0, status: 0 },
{ name: 'Plan electrical upgrades', project_id: projects[2].id, priority: 2, status: 0 },
{ name: 'Choose lighting fixtures', project_id: projects[2].id, priority: 1, status: 0 },
// Fitness Challenge Project Tasks (Project 3)
{ name: 'Create workout schedule', project_id: projects[3].id, priority: 2, status: 2, completed_at: getPastDate(10) },
{ name: 'Track daily calories', project_id: projects[3].id, priority: 1, status: 1 },
{ name: 'Join gym membership', project_id: projects[3].id, priority: 2, status: 2, completed_at: getPastDate(15) },
{ name: 'Buy workout equipment', project_id: projects[3].id, priority: 1, status: 0 },
{ name: 'Plan meal prep schedule', project_id: projects[3].id, priority: 1, status: 1 },
{ name: 'Find workout buddy', project_id: projects[3].id, priority: 0, status: 0 },
{ name: 'Set up fitness tracking app', project_id: projects[3].id, priority: 1, status: 2, completed_at: getPastDate(8) },
{ name: 'Schedule body composition test', project_id: projects[3].id, priority: 1, status: 0, due_date: getRandomDate(7) },
{ name: 'Research supplements', project_id: projects[3].id, priority: 0, status: 0 },
{ name: 'Plan recovery routine', project_id: projects[3].id, priority: 1, status: 0 },
// Side Business Project Tasks (Project 4)
{ name: 'Define service offerings', project_id: projects[4].id, priority: 2, status: 1 },
{ name: 'Create business website', project_id: projects[4].id, priority: 2, status: 0 },
{ name: 'Set up payment processing', project_id: projects[4].id, priority: 1, status: 0 },
{ name: 'Network with potential clients', project_id: projects[4].id, priority: 1, status: 0 },
{ name: 'Register business name', project_id: projects[4].id, priority: 2, status: 2, completed_at: getPastDate(12) },
{ name: 'Open business bank account', project_id: projects[4].id, priority: 2, status: 0, due_date: getRandomDate(5) },
{ name: 'Create marketing materials', project_id: projects[4].id, priority: 1, status: 0 },
{ name: 'Set up accounting system', project_id: projects[4].id, priority: 1, status: 0 },
{ name: 'Research competitors', project_id: projects[4].id, priority: 1, status: 1 },
{ name: 'Create pricing strategy', project_id: projects[4].id, priority: 2, status: 0 },
// Investment Portfolio Project Tasks (Project 5)
{ name: 'Research investment platforms', project_id: projects[5].id, priority: 2, status: 1 },
{ name: 'Open brokerage account', project_id: projects[5].id, priority: 2, status: 0, due_date: getRandomDate(10) },
{ name: 'Study different asset classes', project_id: projects[5].id, priority: 1, status: 0 },
{ name: 'Set investment goals', project_id: projects[5].id, priority: 2, status: 2, completed_at: getPastDate(7) },
{ name: 'Create risk assessment', project_id: projects[5].id, priority: 1, status: 1 },
{ name: 'Research ETFs and mutual funds', project_id: projects[5].id, priority: 1, status: 0 },
{ name: 'Set up automatic investing', project_id: projects[5].id, priority: 1, status: 0 },
{ name: 'Learn about tax implications', project_id: projects[5].id, priority: 1, status: 0 },
{ name: 'Create emergency fund', project_id: projects[5].id, priority: 2, status: 1 },
{ name: 'Review portfolio monthly', project_id: projects[5].id, priority: 1, status: 0 },
// Europe Trip 2024 Project Tasks (Project 6)
{ name: 'Research destinations', project_id: projects[6].id, priority: 2, status: 1 },
{ name: 'Book flights', project_id: projects[6].id, priority: 2, status: 0, due_date: getRandomDate(30) },
{ name: 'Reserve accommodations', project_id: projects[6].id, priority: 2, status: 0, due_date: getRandomDate(45) },
{ name: 'Apply for passport renewal', project_id: projects[6].id, priority: 2, status: 0, due_date: getRandomDate(60) },
{ name: 'Plan itinerary', project_id: projects[6].id, priority: 1, status: 0 },
{ name: 'Research local customs', project_id: projects[6].id, priority: 0, status: 0 },
{ name: 'Learn basic phrases', project_id: projects[6].id, priority: 0, status: 0 },
{ name: 'Check visa requirements', project_id: projects[6].id, priority: 2, status: 0, due_date: getRandomDate(90) },
{ name: 'Get travel insurance', project_id: projects[6].id, priority: 1, status: 0, due_date: getRandomDate(21) },
{ name: 'Plan budget', project_id: projects[6].id, priority: 1, status: 1 },
// Photography Mastery Project Tasks (Project 7)
{ name: 'Learn camera basics', project_id: projects[7].id, priority: 2, status: 2, completed_at: getPastDate(14) },
{ name: 'Practice composition rules', project_id: projects[7].id, priority: 1, status: 1 },
{ name: 'Study lighting techniques', project_id: projects[7].id, priority: 1, status: 0 },
{ name: 'Learn photo editing', project_id: projects[7].id, priority: 1, status: 0 },
{ name: 'Build portfolio', project_id: projects[7].id, priority: 1, status: 0 },
{ name: 'Join photography community', project_id: projects[7].id, priority: 0, status: 0 },
{ name: 'Experiment with different styles', project_id: projects[7].id, priority: 1, status: 0 },
{ name: 'Learn about gear', project_id: projects[7].id, priority: 0, status: 0 },
{ name: 'Practice street photography', project_id: projects[7].id, priority: 1, status: 0 },
{ name: 'Study famous photographers', project_id: projects[7].id, priority: 0, status: 0 },
// Non-project tasks - Personal productivity and life management
{ name: 'Call dentist for appointment', priority: 1, status: 0, due_date: getRandomDate(3) },
{ name: 'Buy groceries for the week', priority: 0, status: 0 },
{ name: 'Clean garage', priority: 0, status: 0 },
{ name: 'Update resume', priority: 1, status: 0 },
{ name: 'Read "Atomic Habits" book', priority: 0, status: 0 },
{ name: 'Organize digital photos', priority: 0, status: 0 },
{ name: 'Schedule car maintenance', priority: 1, status: 0, due_date: getRandomDate(7) },
{ name: 'Plan weekend trip', priority: 0, status: 0 },
{ name: 'Learn basic Spanish', priority: 0, status: 0 },
{ name: 'Backup computer files', priority: 1, status: 0 },
{ name: 'Donate old clothes', priority: 0, status: 0 },
{ name: 'Research investment options', priority: 1, status: 0 },
{ name: 'Call mom and dad', priority: 1, status: 0, due_date: getRandomDate(2) },
{ name: 'Fix leaky faucet', priority: 0, status: 0 },
{ name: 'Try new restaurant', priority: 0, status: 0 },
{ name: 'Update LinkedIn profile', priority: 1, status: 0 },
{ name: 'Review monthly expenses', priority: 1, status: 0, due_date: getRandomDate(5) },
{ name: 'Organize desk workspace', priority: 0, status: 0 },
{ name: 'Plan birthday party', priority: 1, status: 0 },
{ name: 'Research new phone', priority: 0, status: 0 },
{ name: 'Schedule eye exam', priority: 1, status: 0, due_date: getRandomDate(14) },
{ name: 'Update emergency contacts', priority: 1, status: 0 },
{ name: 'Clean out email inbox', priority: 0, status: 0 },
{ name: 'Research vacation destinations', priority: 0, status: 0 },
{ name: 'Update computer software', priority: 1, status: 0 },
{ name: 'Plan meal prep for week', priority: 1, status: 0 },
{ name: 'Research online courses', priority: 0, status: 0 },
{ name: 'Update password manager', priority: 1, status: 0 },
{ name: 'Organize physical documents', priority: 0, status: 0 },
{ name: 'Research new coffee maker', priority: 0, status: 0 },
{ name: 'Schedule oil change', priority: 1, status: 0, due_date: getRandomDate(10) },
{ name: 'Plan gift for anniversary', priority: 1, status: 0 },
{ name: 'Research home security system', priority: 0, status: 0 },
{ name: 'Update will and testament', priority: 2, status: 0, due_date: getRandomDate(30) },
{ name: 'Learn keyboard shortcuts', priority: 0, status: 0 },
{ name: 'Research meditation apps', priority: 0, status: 0 },
{ name: 'Plan date night', priority: 1, status: 0 },
{ name: 'Research side income ideas', priority: 0, status: 0 },
{ name: 'Update insurance policies', priority: 1, status: 0, due_date: getRandomDate(21) },
{ name: 'Learn new cooking recipe', priority: 0, status: 0 },
{ name: 'Research productivity tools', priority: 0, status: 0 },
{ name: 'Plan garden for spring', priority: 0, status: 0 },
{ name: 'Research home improvement ideas', priority: 0, status: 0 },
{ name: 'Update social media profiles', priority: 0, status: 0 },
{ name: 'Plan weekend activities', priority: 0, status: 0 },
{ name: 'Research new podcast', priority: 0, status: 0 },
{ name: 'Schedule annual checkup', priority: 1, status: 0, due_date: getRandomDate(45) },
{ name: 'Learn new Excel functions', priority: 0, status: 0 },
{ name: 'Research retirement planning', priority: 1, status: 0 },
{ name: 'Plan family reunion', priority: 1, status: 0 },
{ name: 'Research new book to read', priority: 0, status: 0 },
{ name: 'Update contact information', priority: 0, status: 0 },
{ name: 'Plan workout routine', priority: 1, status: 0 },
// Completed tasks for metrics - spread across different dates
{ name: 'Pay monthly bills', priority: 1, status: 2, completed_at: getPastDate(1) },
{ name: 'Submit expense reports', priority: 1, status: 2, completed_at: getPastDate(1) },
{ name: 'Weekly team meeting', priority: 1, status: 2, completed_at: getPastDate(2) },
{ name: 'Review project proposal', priority: 2, status: 2, completed_at: getPastDate(3) },
{ name: 'Update LinkedIn profile', priority: 0, status: 2, completed_at: getPastDate(4) },
{ name: 'Clean kitchen', priority: 0, status: 2, completed_at: getPastDate(5) },
{ name: 'Water plants', priority: 0, status: 2, completed_at: getPastDate(6) },
{ name: 'Grocery shopping', priority: 1, status: 2, completed_at: getPastDate(1) },
{ name: 'Call insurance company', priority: 1, status: 2, completed_at: getPastDate(2) },
{ name: 'Send birthday card', priority: 0, status: 2, completed_at: getPastDate(3) },
{ name: 'Fix printer issue', priority: 1, status: 2, completed_at: getPastDate(1) },
{ name: 'Review budget', priority: 1, status: 2, completed_at: getPastDate(4) },
{ name: 'Attend networking event', priority: 1, status: 2, completed_at: getPastDate(5) },
{ name: 'Complete online training', priority: 1, status: 2, completed_at: getPastDate(6) },
{ name: 'Schedule vet appointment', priority: 1, status: 2, completed_at: getPastDate(2) },
{ name: 'Buy gift for colleague', priority: 0, status: 2, completed_at: getPastDate(3) },
{ name: 'Update calendar', priority: 0, status: 2, completed_at: getPastDate(1) },
{ name: 'Research vacation spots', priority: 0, status: 2, completed_at: getPastDate(4) },
{ name: 'Backup important files', priority: 1, status: 2, completed_at: getPastDate(5) },
{ name: 'Clean bathroom', priority: 0, status: 2, completed_at: getPastDate(1) },
// Recurring tasks
{
name: 'Daily standup meeting',
priority: 1,
status: 0,
recurrence_type: 'daily',
recurrence_interval: 1,
due_date: new Date(),
project_id: projects[0].id
},
{
name: 'Weekly grocery shopping',
priority: 1,
status: 0,
recurrence_type: 'weekly',
recurrence_interval: 1,
recurrence_weekday: 6, // Saturday
due_date: getRandomDate(7)
},
{
name: 'Monthly budget review',
priority: 2,
status: 0,
recurrence_type: 'monthly',
recurrence_interval: 1,
recurrence_month_day: 1,
due_date: getRandomDate(30)
},
{
name: 'Weekly meal prep',
priority: 1,
status: 0,
recurrence_type: 'weekly',
recurrence_interval: 1,
recurrence_weekday: 0, // Sunday
due_date: getRandomDate(7)
},
{
name: 'Daily workout',
priority: 1,
status: 0,
recurrence_type: 'daily',
recurrence_interval: 1,
due_date: new Date(),
project_id: projects[3].id
},
{
name: 'Weekly house cleaning',
priority: 1,
status: 0,
recurrence_type: 'weekly',
recurrence_interval: 1,
recurrence_weekday: 6, // Saturday
due_date: getRandomDate(7)
},
// Waiting and someday tasks
{ name: 'Wait for contractor estimate', priority: 1, status: 4, project_id: projects[2].id },
{ name: 'Learn advanced photography', priority: 0, status: 0 },
{ name: 'Write a book', priority: 0, status: 0 },
{ name: 'Learn to play guitar', priority: 0, status: 0 },
{ name: 'Take pottery class', priority: 0, status: 0 },
{ name: 'Visit Japan', priority: 0, status: 0 },
{ name: 'Learn rock climbing', priority: 0, status: 0 },
{ name: 'Start a podcast', priority: 0, status: 0 },
{ name: 'Learn wine tasting', priority: 0, status: 0 },
{ name: 'Take dance lessons', priority: 0, status: 0 }
];
}
module.exports = { createExpandedTaskData };