# LifeTimer - 1356 Day Challenge > A gamified life countdown app where users create a bucket list and start an irreversible 1356-day journey to achieve their goals. ## 🎯 Overview LifeTimer is a production-ready Flutter mobile application that helps users achieve their life goals through a focused 1356-day countdown challenge. Users create a bucket list of up to 20 goals, and once they start their countdown, it cannot be stopped, paused, or extended - creating real commitment and motivation. **Current Status**: πŸš€ Ready for Beta Testing & App Store Submission **Version**: 1.0.0 (Pre-release) **Platform**: iOS & Android --- ## ✨ Key Features ### Core Experience - πŸ” **Secure Authentication** - Email, Google, and Apple OAuth - πŸ“ **Bucket List Creation** - Up to 20 life goals with detailed tracking - ⏰ **1356-Day Countdown** - Irreversible timer with real-time updates - πŸ“Š **Progress Tracking** - Milestones, steps, and achievement system - πŸ‘€ **Profile Management** - Customizable profiles with avatars ### Advanced Features - πŸ—ΊοΈ **Location Support** - GPS and map integration for location-based goals - πŸ–ΌοΈ **Image Integration** - Upload photos or search Unsplash/Pexels - πŸ“ˆ **Analytics & Insights** - Charts and progress visualization - πŸ”” **Smart Notifications** - Daily, weekly, and milestone reminders - πŸ’Ύ **Offline Support** - Full functionality with intelligent caching - 🎨 **Customization** - Light/dark themes, 12/24h formats ### Social Features - 🌐 **Public/Private Profiles** - Control your privacy - πŸ“± **Social Feed** - Share milestones and achievements - πŸ† **Leaderboards** - Compete on goals completed and streaks - πŸ‘₯ **Following System** - Connect with other users - πŸ… **Achievements System** - Earn badges for accomplishments --- ## πŸ›  Tech Stack ### Frontend - **Framework**: Flutter 3.10+ - **Language**: Dart 3.0+ - **State Management**: Riverpod - **Navigation**: Go Router - **UI Components**: Material Design 3 ### Backend - **Provider**: Supabase - **Database**: PostgreSQL with RLS - **Authentication**: Supabase Auth - **Storage**: Supabase Storage - **Realtime**: Supabase Realtime ### Key Libraries - `flutter_riverpod` - State management - `supabase_flutter` - Backend integration - `go_router` - Navigation - `fl_chart` - Analytics charts - `cached_network_image` - Image caching - `geolocator` - Location services - `google_maps_flutter` - Maps - `flutter_local_notifications` - Notifications - `hive` - Local storage --- ## πŸš€ Getting Started ### Prerequisites - Flutter SDK (>=3.10.0) - Dart SDK (>=3.0.0) - Supabase project - Google Maps API key (optional) - Unsplash/Pexels API keys (optional) ### Installation 1. **Clone the repository** ```bash git clone https://github.com/your-username/lifetimer.git cd lifetimer ``` 2. **Install dependencies** ```bash flutter pub get ``` 3. **Set up environment variables** ```bash cp .env.example .env # Edit .env with your Supabase and API credentials ``` 4. **Run the app** ```bash flutter run ``` ### Environment Variables ```env SUPABASE_URL=your_supabase_url SUPABASE_ANON_KEY=your_supabase_anon_key GOOGLE_MAPS_API_KEY=your_google_maps_key UNSPLASH_API_KEY=your_unsplash_key PEXELS_API_KEY=your_pexels_key ``` --- ## πŸ“± Project Structure ``` lib/ β”œβ”€β”€ main.dart # App entry point β”œβ”€β”€ bootstrap/ # Initialization β”œβ”€β”€ core/ # Cross-cutting concerns β”‚ β”œβ”€β”€ theme/ β”‚ β”œβ”€β”€ routing/ β”‚ β”œβ”€β”€ widgets/ β”‚ β”œβ”€β”€ errors/ β”‚ β”œβ”€β”€ utils/ β”‚ └── services/ β”œβ”€β”€ data/ # Data layer β”‚ β”œβ”€β”€ models/ β”‚ β”œβ”€β”€ repositories/ β”‚ └── services/ └── features/ # Feature modules β”œβ”€β”€ auth/ β”œβ”€β”€ onboarding/ β”œβ”€β”€ goals/ β”œβ”€β”€ countdown/ β”œβ”€β”€ social/ β”œβ”€β”€ profile/ β”œβ”€β”€ settings/ β”œβ”€β”€ analytics/ └── achievements/ ``` --- ## πŸ—„ Database Schema ### Core Tables - `users` - User profiles and countdown data - `goals` - Bucket list items with progress - `goal_steps` - Granular milestones for goals - `followers` - Social relationships - `activities` - Timeline events for feeds - `notifications` - Notification history - `achievements` - User achievement tracking ### Security - Row Level Security (RLS) enabled on all tables - Users can only access their own data - Public profiles expose only non-sensitive fields - GDPR and CCPA compliant --- ## πŸ§ͺ Testing ### Test Coverage - βœ… Unit tests for core utilities and models - βœ… Widget tests for all screens and components - βœ… Integration tests for end-to-end flows - βœ… All tests passing ### Running Tests ```bash # Run all tests flutter test # Run with coverage flutter test --coverage ``` --- ## πŸ“Š Development Status ### Completed Phases - βœ… **Phase 0**: Planning and foundations - βœ… **Phase 1**: MVP core experience - βœ… **Phase 2**: Social and motivation features - βœ… **Phase 3**: Advanced experience features - βœ… **Phase 4**: Polish and release preparation ### Current Status - All core features implemented - Comprehensive testing complete - Documentation ready - Beta testing phase starting - App store submission preparation --- ## πŸ“š Documentation ### User Documentation - [User Guide](lifetimer/USER_GUIDE.md) - Comprehensive user manual - [FAQ](lifetimer/FAQ.md) - Frequently asked questions - [Release Notes](lifetimer/RELEASE_NOTES.md) - v1.0.0 release information ### Developer Documentation - [Developer Guide](lifetimer/DEVELOPER_GUIDE.md) - Setup and contribution guide - [Security Audit Checklist](lifetimer/app_store_assets/security_audit_checklist.md) - [Code Review Checklist](lifetimer/app_store_assets/code_review_checklist.md) ### Release Documentation - [Beta Testing Plan](lifetimer/app_store_assets/beta_testing_plan.md) - [Release Preparation Checklist](lifetimer/app_store_assets/release_preparation_checklist.md) - [App Store Descriptions](lifetimer/app_store_assets/app_store_description.md) --- ## 🎯 App Store Information ### iOS App Store - **Category**: Productivity - **Age Rating**: 4+ - **Size**: ~50MB - **Features**: In-app purchases, social features ### Google Play Store - **Category**: Productivity - **Content Rating**: Everyone - **Size**: ~45MB - **Features**: In-app purchases, social features --- ## 🀝 Contributing We welcome contributions! Please see the [Developer Guide](lifetimer/DEVELOPER_GUIDE.md) for detailed guidelines. ### Development Workflow 1. Fork the repository 2. Create a feature branch 3. Make your changes 4. Add tests for new functionality 5. Ensure all tests pass 6. Submit a pull request --- ## πŸ“„ License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. --- ## πŸ†˜ Support - **Email**: support@lifetimer.app - **Twitter**: @LifeTimerApp - **Discord**: https://discord.gg/lifetimer - **Website**: https://lifetimer.app - **Issues**: [GitHub Issues](https://github.com/your-username/lifetimer/issues) --- ## πŸŽ‰ Roadmap ### Version 1.1 (Post-Launch) - [ ] Home screen widgets - [ ] Custom countdown durations - [ ] Advanced analytics - [ ] More achievement types ### Version 1.2 (Future) - [ ] Team challenges - [ ] Goal templates - [ ] Integration with calendar apps - [ ] Apple Watch companion app --- ## πŸ“ˆ Success Metrics ### Launch Targets - **Week 1**: 1,000+ downloads, 4.5+ star rating, <1% crash rate - **Month 1**: 5,000+ downloads, 4.5+ star rating, 40%+ Day 30 retention - **Year 1**: 100,000+ downloads, 4.5+ star rating, 20%+ Day 90 retention --- ## πŸ† Project Statistics - **Total Files**: 80+ Dart files - **Lines of Code**: ~15,000+ - **Features**: 10+ feature modules - **Screens**: 20+ screens - **Test Coverage**: Comprehensive - **Development Time**: 4 phases completed --- **LifeTimer** - Make every day count. Start your 1356-day journey today!