mirror of
https://github.com/Dvorinka/1356.git
synced 2026-06-03 19:42:57 +00:00
readme
This commit is contained in:
@@ -0,0 +1,302 @@
|
||||
# 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!
|
||||
Reference in New Issue
Block a user