Habit tracker

byKhanya Vikilahle

Make it a habit trackers

LandingSignup
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 4

Habit Tracker

Introduction

The Habit Tracker project aims to provide users with a tool to monitor and manage their daily habits effectively. This document outlines the system requirements for the Habit Tracker application, which is designed to cater to a wide community of users.

System Overview

The Habit Tracker is a digital application that allows users to set, track, and analyze their habits over time. The system is designed to be user-friendly and accessible, providing insights and motivation to help users maintain and improve their habits. The application will be available on both web and mobile platforms, ensuring accessibility for all users.

Functional Requirements

  • As a User, I should be able to create a new habit to track.
  • As a User, I should be able to set daily, weekly, or monthly goals for each habit.
  • As a User, I should be able to log my progress for each habit.
  • As a User, I should be able to view my habit history and progress over time.
  • As a User, I should be able to receive reminders to log my habits.
  • As a User, I should be able to edit or delete habits as needed.
  • As a User, I should be able to view statistics and insights about my habits.
  • As a User, I should be able to share my progress with the community.
Page 2 of 4

User Personas

  • Regular User: Individuals who want to track and improve their personal habits.
  • Community Member: Users who are part of a wider community and wish to share their progress and insights with others.

Core User Flows

  • User creates a new habit -> Sets goals -> Logs daily progress -> Receives reminders -> Views progress and insights.
  • Community Member shares habit progress -> Engages with community feedback -> Adjusts habits based on insights.

Visuals Colors and Theme

  • primary: #4A90E2 (a calming blue for trust and reliability)
  • primary_light: #A6C8FF (a lighter blue for hover states)
  • secondary: #F5A623 (a warm orange for emphasis and highlights)
  • accent: #7ED321 (a vibrant green for CTAs and active states)
  • highlight: #F8E71C (a bright yellow for notifications and alerts)
  • bg: #FFFFFF (a clean white background)
  • surface: rgba(255, 255, 255, 0.8) (a semi-transparent white for cards and panels)
  • text: #333333 (a dark grey for primary text)
  • text_muted: #888888 (a softer grey for secondary text)
  • border: rgba(0, 0, 0, 0.1) (a subtle grey for borders)
Page 3 of 4

Signature Design Concept

The Habit Tracker's landing page will feature an interactive "Habit Garden" concept. Users will see a virtual garden where each habit is represented as a plant. As users log progress, their plants grow and flourish, providing a visual representation of their habit development. Users can click on each plant to view detailed statistics and insights. The garden will have dynamic animations using framer-motion to simulate growth and seasonal changes, creating an engaging and motivating experience.

Interaction Model & Motion Direction

The landing page will utilize a "parallax" interaction model, providing a layered depth effect as users scroll through the page. The Habit Garden will have animated elements that respond to user interactions, such as hovering over plants to reveal growth stats or clicking to expand details. Internal pages will maintain a "static" interaction model for clarity and ease of use.

Non-Functional Requirements

  • The application should be responsive and accessible on both web and mobile platforms.
  • The system should support multiple languages to cater to a diverse user base.
  • Data should be securely stored and backed up regularly.
  • The application should perform efficiently with minimal load times.
Page 4 of 4

Tech Stack

  • Frontend: React for Web, React Native for mobile app
  • Backend: Python, FastAPI
  • Database: MySQL or MariaDB, using Alembic for migrations

Assumptions and Constraints

  • The application will primarily target users in South Africa, considering local time zones and cultural preferences.
  • The system will be designed to handle a large number of users simultaneously.
  • Internet connectivity is assumed for accessing the application.

Glossary

  • Habit: A regular practice or routine that is tracked by the user.
  • Goal: A target set by the user for a specific habit.
  • Community: A group of users who interact and share progress within the application.
Landing design preview
Landing: View Garden
Login: Sign In
Dashboard: View Habits
HabitLog: Log Progress
Community: Share Progress
Community: View Feed
Community: Engage Feedback
Insights: View Statistics
HabitEdit: Adjust Habits
Profile: View Profile
Community: Browse Members