Files
1356/README.md
T
Tomas Dvorak d712fe1074 readme
2026-01-04 17:41:12 +01:00

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 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

    git clone https://github.com/your-username/lifetimer.git
    cd lifetimer
    
  2. Install dependencies

    flutter pub get
    
  3. Set up environment variables

    cp .env.example .env
    # Edit .env with your Supabase and API credentials
    
  4. 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 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

# 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

Developer Documentation

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

  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 file for details.


🆘 Support


🎉 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!