gentle-todo

bySanil

todo app

Landing
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 7

System Requirements Document (SRD) for gentle-todo

1. Introduction

The gentle-todo project is a productivity application designed to help users manage tasks effectively. It caters to both personal and team usage modes, providing flexibility for individuals and groups to organize, track, and complete tasks. This document outlines the system requirements for the gentle-todo project, ensuring a clear understanding of its functionality, design, and technical specifications.

This SRD has been updated to include support for both personal and team usage modes, as requested by Sanil.

Page 2 of 7

2. System Overview

The gentle-todo application is a task management tool that allows users to create, organize, and track tasks. It is designed to support two primary modes of operation:

  1. Personal Mode: For individual users to manage their personal tasks.
  2. Team Mode: For groups to collaborate on shared tasks, with features like task assignments, deadlines, and shared categories.

The system will be accessible via web and mobile platforms, ensuring users can manage their tasks anytime, anywhere. The application will prioritize a clean, intuitive interface and seamless user experience.

Key features include:

  • Task creation and categorization
  • Support for both personal and team task management
  • Notifications and reminders
  • Task prioritization and deadlines
  • Collaboration tools for teams

The application will be optimized for users in India (IN), with locale-specific defaults such as time zones (IST) and date formats (DD/MM/YYYY).

3. Functional Requirements

Page 3 of 7

Personal Mode

  • As a User, I should be able to create, edit, and delete tasks.
  • As a User, I should be able to categorize tasks into custom categories.
  • As a User, I should be able to set deadlines and receive reminders for tasks.
  • As a User, I should be able to prioritize tasks (e.g., High, Medium, Low).
  • As a User, I should be able to mark tasks as complete.

Team Mode

  • As a Team Member, I should be able to create tasks within a shared workspace.
  • As a Team Member, I should be able to assign tasks to specific team members.
  • As a Team Member, I should be able to set deadlines for team tasks.
  • As a Team Member, I should be able to comment on tasks for collaboration.
  • As a Team Member, I should be able to view task progress and completion status.
  • As a Team Admin, I should be able to manage team members and permissions.
  • As a Team Admin, I should be able to create and manage shared categories.

4. User Personas

Personal User

  • Description: An individual using the app for personal productivity.
  • Goals: Stay organized, manage personal tasks, and meet deadlines.
  • Pain Points: Overwhelmed by multiple tasks, forgetting deadlines.
Page 4 of 7

Team Member

  • Description: A member of a team collaborating on shared tasks.
  • Goals: Contribute to team projects, track assigned tasks, and meet deadlines.
  • Pain Points: Lack of clarity on task assignments, poor communication.

Team Admin

  • Description: A leader or manager overseeing team tasks and members.
  • Goals: Ensure team productivity, manage task assignments, and track progress.
  • Pain Points: Difficulty in managing team members and permissions.

5. Visuals Colors and Theme

The gentle-todo application will use a unique, calming color palette to reflect its focus on organization and productivity:

  • Background: #F9F9F9 (soft off-white for a clean, distraction-free interface)
  • Surface: #FFFFFF (pure white for task cards and modals)
  • Text: #333333 (dark gray for high readability)
  • Accent: #4CAF50 (calming green for buttons and highlights)
  • Muted Tones: #B0BEC5 (light gray for secondary text and borders)

This palette is designed to create a soothing and professional aesthetic, suitable for both personal and team use.

Page 5 of 7

6. Signature Design Concept

The gentle-todo homepage will feature an interactive task tree. This tree will visually represent tasks as branches, with personal tasks on one side and team tasks on the other. Each branch will grow dynamically as tasks are added, creating a living visualization of productivity.

Key Features:

  • Dynamic Growth: As users add tasks, branches grow and animate in real-time.
  • Interactive Nodes: Clicking on a task node will open a modal with task details and options to edit or complete the task.
  • Color Coding: Personal tasks will be green, while team tasks will be blue, with completed tasks fading to gray.
  • Subtle Animations: Leaves will gently sway, and completed tasks will "fall" like leaves in autumn, creating a satisfying visual cue.

This design will make the homepage both functional and memorable, encouraging users to engage with their tasks in a unique way.

7. Non-Functional Requirements

  • The system should support at least 10,000 concurrent users.
  • The application should load within 2 seconds on a standard 4G connection.
  • The system should ensure data security and comply with GDPR standards.
  • The mobile app should function offline, syncing data when reconnected.

8. Tech Stack

Frontend

  • React for Web
  • React Native for Mobile App
Page 6 of 7

Backend

  • Python
  • FastAPI

Database

  • MySQL (with Alembic for migrations)

AI Tools

  • GPT 5.4 for user-friendly responses
  • Langchain for task-related AI workflows

Orchestration

  • Docker for local development
  • Kubernetes for server-side orchestration

9. Assumptions and Constraints

Assumptions

  • Users will primarily access the app from India, so the default timezone will be IST.
  • The application will be used by both individuals and small to medium-sized teams.

Constraints

  • The system must support both web and mobile platforms.
  • The database must handle both personal and team data without performance degradation.
Page 7 of 7

10. Glossary

  • Task: A unit of work to be completed.
  • Personal Mode: A mode where tasks are managed by an individual user.
  • Team Mode: A mode where tasks are shared and managed collaboratively by a group.
  • Team Admin: A user with permissions to manage team settings and members.
  • IST: Indian Standard Time (UTC+5:30).
Landing design preview
Landing: View App
Login: Sign In
Signup: Create Account
Dashboard: View Tasks
Tasks: Create Task
Tasks: Set Priority
Tasks: Set Deadline
Tasks: Mark Complete
Categories: Manage Categories