Skip to content

Design

Design (60 min)

Database design

  1. Project (challenge)

    • Start date
    • End date (optional) [v2.4]
    • Challenge duration (50 days by default)
    • Status (in progress / ended)

    • Completion rate (computed field)

    • Check-in days (computed field) [v2.1]
    • Consecutive check-in days (computed field) [v2.1]
  2. Task (habit)

    • Name (seven default habits, customizable)
    • Display order [v1.1]
    • Challenge (FK -> Project)
    • Consecutive check-in days (computed field) [v1.2]
  3. Record (daily record)

    • Day number (relative to the start of the challenge)
    • Completion status (completed / not completed)
    • Note [v1.4]
    • Habit (FK -> Task)
  4. Summary (daily summary) [v3.0]

    • Day number
    • Content
    • Challenge (FK -> Project)
  5. Message (motivational quote) [v2.0]

    • Day number (ID)
    • Content
    • Source (optional)

Screen design

  1. Check-in screen

    • Show the current day number of the challenge
    • Display seven habits
    • Support check-ins, edits, and entries for past dates (added in [v1.1])
    • Press and hold to add a note [v1.4]
    • Display the Daily Quote [v2.0]
    • Generate a daily summary with AI [v3.0]
  2. Review screen

    • Display habit completion for each day of the challenge
    • Show challenge progress statistics (completion rate and consecutive days [v1.2])
    • View the list of daily summaries [v3.0]
    • Tap a habit to view its notes [v1.4]
    • Share results: generate and share an image of challenge results [v2.0]
  3. Settings screen

    • User preferences
      • Appearance settings [v1.4]
      • Haptic feedback settings [v1.4]
      • Reminder time settings [v1.3]
    • Data management
      • Customize the challenge duration [v1.2]
      • Customize habits [v1.1]
      • End and archive the current challenge, then return to the Start screen
      • View past challenges, with bulk deletion of archived challenges [v2.3]
      • Import/export challenge data [v2.3] and daily summaries [v3.0]
    • External links
      • About Project 50
      • Support
      • Privacy Policy
      • Share and rate the app [v2.0]
  4. Challenge Start / Challenge Completion / Introduction screens

    • On first use, show the Introduction screen [v2.4]
    • If no challenge is in progress: show the Challenge Start screen
    • If a challenge is in progress:
      • Before the challenge period ends: show screens 1–3 above
      • After the challenge period ends: show the Challenge Completion screen with the results

Screen flow diagram

graph LR
    A["Introduction (v2.4)"] --> B["Start"]
    A["Introduction (v2.4)"] <--> C["Challenge in progress"]
    A["Introduction (v2.4)"] --> D["Completion"]
    B["Start"] <--> C["Challenge in progress"]
    C["Challenge in progress"] <--> D["Completion"]

    subgraph C ["Challenge in progress"]

        E["Check-in"] <-->|Switch| F["Review"]
        E["Check-in"] <-->|Switch| G["Settings"]
        F["Review"] <-->|Switch| G["Settings"]

        E["Check-in"] -->|Add note| H["Note (v1.4)"]
        F["Review"] -->|View| I["Notes (v1.4)"]

        F["Review"] -->|View| P["Daily summaries (v3.0)"]

        subgraph G ["Settings"]

            J["Settings menu"] -->|View| K["Challenge History"]
            K["Challenge History"] -->|View| L["Challenge Details"]
            L["Challenge Details"] -->|View| M["Notes (v1.4)"]
            L["Challenge Details"] -->|View| Q["Daily summaries (v3.0)"]

            J["Settings menu"] -->|Edit| N["Custom habits (v1.1)"]
            J["Settings menu"] -->|Edit| O["Custom duration (v1.2)"]

        end

    end