Skip to content

Latest commit

Β 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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!

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages