← All templates

To-do List

Productivity · React + Node (Express) · 17 @molecule/* packages

Todoist-like task management with projects, labels, recurring tasks, and reminders — with built-in Stripe-backed subscription tiers

Open in Molecule

What is inside

  • auth
  • notifications
  • recurring-tasks
  • labels
  • projects
  • subscriptions

Screens (16)

  • Landing /
  • Login /login
  • Signup /signup
  • ForgotPassword /forgot-password
  • ResetPassword /reset-password
  • Today /today (signed in)
  • Inbox /inbox (signed in)
  • Upcoming /upcoming (signed in)
  • ProjectDetail /projects/:id (signed in)
  • Labels /labels (signed in)
  • Settings /settings (signed in)
  • TaskDetail /tasks/:id (signed in)
  • Completed /completed (signed in)
  • Notifications /notifications (signed in)
  • Search /search (signed in)
  • Analytics /analytics (signed in)

Data model (9 tables)

  • devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
  • labels — id, owner_id, name, color, created_at, updated_at
  • notifications — id, user_id, type, title, body, data, read_at, created_at
  • projects — id, owner_id, name, color, icon, parent_id, position, is_favorite, …
  • resource_tags — id, tagId, resourceType, resourceId, createdAt
  • tags — id, name, slug, color, description, createdAt, updatedAt
  • task_comments — id, task_id, owner_id, body, created_at
  • task_labels — task_id, label_id, owner_id, created_at
  • tasks — id, owner_id, project_id, parent_id, title, description, priority, due_date, …

API (4 handlers)

  • labels api/src/handlers/labels.ts
  • notifications api/src/handlers/notifications.ts
  • projects api/src/handlers/projects.ts
  • tasks api/src/handlers/tasks.ts

Subscription tiers

free / pro / team — gated by: maxLabels, maxProjects, maxTasks, advancedFeatures, canExport, retentionDays

Built from 17 @molecule/* packages

Browse all @molecule/* packages →

Required secrets

  • DATABASE_URL PostgreSQL connection string
  • VAPID_PUBLIC_KEY VAPID public key for push notifications
  • VAPID_PRIVATE_KEY VAPID private key for push notifications

The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing