Design
Design (60 min)
Database design
-
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]
-
Task (habit)
- Name (seven default habits, customizable)
- Display order [v1.1]
- Challenge (FK -> Project)
- Consecutive check-in days (computed field) [v1.2]
-
Record (daily record)
- Day number (relative to the start of the challenge)
- Completion status (completed / not completed)
- Note [v1.4]
- Habit (FK -> Task)
-
Summary (daily summary) [v3.0]
- Day number
- Content
- Challenge (FK -> Project)
-
Message (motivational quote) [v2.0]
- Day number (ID)
- Content
- Source (optional)
Screen design
-
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]
-
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]
-
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]
- User preferences
-
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