Files
1356/timeline.md
T
2026-01-03 18:35:35 +01:00

300 lines
9.1 KiB
Markdown

# LifeTimer Development Timeline
Use this file as a living log of what has been done and what is planned next.
Update it as you work.
Legend
- [ ] planned
- [x] completed
- [~] in progress
## 2026 01 03 - Kickoff
- [x] Defined core concept and Supabase based architecture in project.md.
- [x] Created initial documentation set for requirements, design, architecture, and roadmap.
- [x] Created comprehensive functional and non-functional requirements.
- [x] Defined detailed database schema with RLS policies.
- [x] Specified Flutter project structure and navigation flows.
- [x] Documented UI/UX specifications and security guidelines.
- [ ] Initialize git repository and create .gitignore.
- [ ] Review and complete Flutter project structure.
- [ ] Add required dependencies to pubspec.yaml.
- [ ] Create core theme and routing files.
## Phase 0 - Planning and Foundations (In Progress)
### Project Setup
- [ ] Initialize git repository with proper .gitignore
- [ ] Create initial commit with documentation
- [ ] Review existing Flutter project structure in lifetimer/
- [ ] Verify pubspec.yaml and update dependencies
- [ ] Create environment configuration files (.env.example, .env)
### Core Infrastructure
- [ ] Create bootstrap folder with Supabase client setup
- [ ] Create core theme definitions (light/dark themes)
- [ ] Create app router with all route definitions
- [ ] Create reusable core widgets (buttons, scaffolds, loading indicators)
- [ ] Create error handling and failure types
- [ ] Create utility functions (date/time, validators)
- [ ] Set up state management (Provider/Riverpod)
### Data Layer
- [ ] Create data models (User, Goal, GoalStep, Activity)
- [ ] Create repository interfaces
- [ ] Implement AuthRepository
- [ ] Implement UserRepository
- [ ] Implement GoalsRepository
- [ ] Implement CountdownRepository
- [ ] Implement SocialRepository (Phase 2)
- [ ] Implement NotificationsRepository
### Supabase Setup
- [ ] Create Supabase project
- [ ] Apply database schema migrations
- [ ] Configure RLS policies
- [ ] Set up storage buckets
- [ ] Configure authentication providers (Google, Apple)
- [ ] Test database connections
## Phase 1 - MVP Core Experience
### Authentication Feature
- [ ] Create AuthGate screen
- [ ] Create sign in screen (email/password)
- [ ] Create sign up screen (email/password)
- [ ] Implement Google sign-in
- [ ] Implement Apple sign-in (iOS)
- [ ] Create auth loading screen
- [ ] Implement AuthController
- [ ] Add session management
- [ ] Test auth flows
### Onboarding Feature
- [ ] Create onboarding intro screen
- [ ] Create onboarding how it works screen
- [ ] Create onboarding motivation screen
- [ ] Implement OnboardingController
- [ ] Add onboarding completion tracking
- [ ] Test onboarding flow
### Profile Setup
- [ ] Create profile creation screen
- [ ] Implement avatar upload
- [ ] Add username validation (unique check)
- [ ] Add bio field
- [ ] Test profile setup flow
### Goals Feature
- [ ] Create goals list screen
- [ ] Create goal edit screen
- [ ] Create goal detail screen
- [ ] Implement GoalsController
- [ ] Implement GoalDetailController
- [ ] Add goal title and description fields
- [ ] Add location picker integration
- [ ] Add image upload/API integration
- [ ] Implement milestones/steps per goal
- [ ] Add progress tracking (0-100%)
- [ ] Enforce 1-20 goals limit
- [ ] Add goal completion logic
- [ ] Test goal CRUD operations
### Countdown Feature
- [ ] Create home countdown screen (world time inspired)
- [ ] Implement large countdown display (days, hours, minutes, seconds)
- [ ] Add progress ring/bar showing time elapsed
- [ ] Implement CountdownController
- [ ] Add countdown start confirmation dialog
- [ ] Calculate countdown end date (start + 1356 days)
- [ ] Add motivational messages
- [ ] Test countdown accuracy
- [ ] Test countdown lock (no pause/reset)
### Bucket List Confirmation
- [ ] Create bucket list intro screen
- [ ] Implement confirmation dialog
- [ ] Add countdown start trigger
- [ ] Lock goals after countdown starts
- [ ] Test confirmation flow
### Notifications
- [ ] Set up local notifications
- [ ] Implement daily/weekly reminders
- [ ] Add milestone notifications
- [ ] Add countdown checkpoint notifications (50%, 25% remaining)
- [ ] Create notification settings screen
- [ ] Test notification delivery
### Analytics
- [ ] Set up basic analytics tracking
- [ ] Track key events (goal creation, countdown start, goal completion)
- [ ] Add error logging
- [ ] Test analytics integration
### MVP Testing
- [ ] End-to-end testing of signup → goals → countdown flow
- [ ] Test onboarding completion
- [ ] Test countdown accuracy over time
- [ ] Test goal progress tracking
- [ ] Test notifications
- [ ] Fix critical bugs
- [ ] Prepare for internal testing
## Phase 2 - Social and Motivation
### Following System
- [ ] Implement follow/unfollow functionality
- [ ] Create public profile screens
- [ ] Add follower/following lists
- [ ] Test follow relationships
### Activity Feed
- [ ] Create social feed screen
- [ ] Implement activity tracking
- [ ] Show public milestones in feed
- [ ] Add feed filtering
- [ ] Test feed updates
### Leaderboards
- [ ] Create leaderboards screen
- [ ] Implement goals completed ranking
- [ ] Implement active streak ranking
- [ ] Implement recent milestones ranking
- [ ] Add leaderboard tabs/filters
- [ ] Test leaderboard accuracy
### Achievements
- [ ] Design achievement badges
- [ ] Implement achievement tracking
- [ ] Create achievement notification
- [ ] Add achievements to profile
- [ ] Test achievement unlocks
### Social Notifications
- [ ] Add follow notifications
- [ ] Add milestone share notifications
- [ ] Test social notification delivery
### Phase 2 Testing
- [ ] Test public profile visibility
- [ ] Test social feed privacy
- [ ] Test leaderboards (public accounts only)
- [ ] Test achievements
- [ ] Beta testing with small group
- [ ] Fix bugs and refine features
## Phase 3 - Advanced Experience
### Charts and Insights
- [ ] Create insights screen
- [ ] Implement progress vs time charts
- [ ] Add goal completion trends
- [ ] Implement streak visualization
- [ ] Add summary cards
- [ ] Test chart performance
### Image Integration
- [ ] Integrate Unsplash API
- [ ] Integrate Pexels API
- [ ] Add image search by title
- [ ] Cache images locally
- [ ] Test image loading
### Map Integration
- [ ] Integrate Google Maps API
- [ ] Integrate OpenStreetMap (fallback)
- [ ] Add location picker to goal edit
- [ ] Display location on goal detail
- [ ] Test map functionality
### Offline Support
- [ ] Implement local caching (Hive/SharedPreferences)
- [ ] Cache goals and countdown data
- [ ] Queue offline mutations
- [ ] Sync when connection restored
- [ ] Test offline behavior
### Settings Expansion
- [ ] Add theme switcher (light/dark)
- [ ] Add time format toggle (12/24h)
- [ ] Add language selection
- [ ] Add privacy settings (public/private toggle)
- [ ] Add account deletion
- [ ] Test all settings
### Phase 3 Testing
- [ ] Test charts accuracy
- [ ] Test image API integration
- [ ] Test map functionality
- [ ] Test offline mode
- [ ] Test all settings
- [ ] Performance testing on low-end devices
## Phase 4 - Polish and Release
### Accessibility
- [ ] Review color contrast ratios
- [ ] Test with screen readers
- [ ] Add semantic labels
- [ ] Support dynamic text scaling
- [ ] Fix accessibility issues
### Performance
- [ ] Profile app performance
- [ ] Optimize countdown updates
- [ ] Optimize image loading
- [ ] Reduce app bundle size
- [ ] Test on low-end devices
- [ ] Fix performance bottlenecks
### App Store Preparation
- [ ] Create app store screenshots
- [ ] Write app descriptions
- [ ] Prepare app icons
- [ ] Set up app store listings
- [ ] Configure in-app purchases (if any)
- [ ] Review store guidelines
### Play Store Preparation
- [ ] Create Play Store screenshots
- [ ] Write Play Store descriptions
- [ ] Prepare app icons
- [ ] Set up Play Store listing
- [ ] Review Play Store policies
### Beta Testing
- [ ] Set up beta testing program
- [ ] Recruit beta testers
- [ ] Collect feedback
- [ ] Fix reported bugs
- [ ] Refine features based on feedback
### Release Preparation
- [ ] Final code review
- [ ] Security audit
- [ ] Create release notes
- [ ] Tag release version
- [ ] Deploy to production
### Public Launch
- [ ] Submit to App Store
- [ ] Submit to Play Store
- [ ] Monitor app performance
- [ ] Respond to user reviews
- [ ] Plan post-launch updates
## Later Milestones
- [ ] MVP feature set complete and ready for internal testing
- [ ] Social and leaderboards live in a small beta
- [ ] Advanced charts, maps, and media features deployed
- [ ] Public launch on both app stores
- [ ] Post-launch feature updates and improvements
## Chronological History
- 2026 01 03 - [x] Project kickoff and documentation complete
- 2026 01 03 - [~] Setting up git repository and project structure