7.9 KiB
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 managementsupabase_flutter- Backend integrationgo_router- Navigationfl_chart- Analytics chartscached_network_image- Image cachinggeolocator- Location servicesgoogle_maps_flutter- Mapsflutter_local_notifications- Notificationshive- 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
-
Clone the repository
git clone https://github.com/your-username/lifetimer.git cd lifetimer -
Install dependencies
flutter pub get -
Set up environment variables
cp .env.example .env # Edit .env with your Supabase and API credentials -
Run the app
flutter run
Environment Variables
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 datagoals- Bucket list items with progressgoal_steps- Granular milestones for goalsfollowers- Social relationshipsactivities- Timeline events for feedsnotifications- Notification historyachievements- 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
# 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 - Comprehensive user manual
- FAQ - Frequently asked questions
- Release Notes - v1.0.0 release information
Developer Documentation
- Developer Guide - Setup and contribution guide
- Security Audit Checklist
- Code Review Checklist
Release Documentation
🎯 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 for detailed guidelines.
Development Workflow
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Ensure all tests pass
- Submit a pull request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🆘 Support
- Email: support@lifetimer.app
- Twitter: @LifeTimerApp
- Discord: https://discord.gg/lifetimer
- Website: https://lifetimer.app
- Issues: GitHub 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!