mirror of
https://github.com/Dvorinka/1356.git
synced 2026-06-03 19:42:57 +00:00
LifeTimer Flutter Project
Overview
LifeTimer is a gamified life countdown app where users create a bucket list (up to 20 entries) and start a 1356-day countdown once they finalize their goals. The countdown cannot be stopped, paused, or extended.
Project Structure
This Flutter project follows a clean architecture with feature-based organization:
lib/
├── main.dart # App entry point
├── bootstrap/ # Initialization
│ ├── bootstrap.dart
│ ├── env.dart
│ └── supabase_client.dart
├── core/ # Cross-cutting concerns
│ ├── theme/
│ │ └── app_theme.dart
│ ├── routing/
│ │ └── app_router.dart
│ ├── widgets/
│ │ └── primary_button.dart
│ └── state/
│ └── providers.dart
├── data/ # Data layer
│ ├── models/
│ │ ├── user_model.dart
│ │ └── goal_model.dart
│ └── repositories/
│ └── auth_repository.dart
└── features/ # Feature modules
├── auth/
├── onboarding/
├── goals/
├── countdown/
├── social/
├── profile/
└── settings/
Tech Stack
- Framework: Flutter
- State Management: Riverpod
- Backend: Supabase (Auth, Database, Storage, Realtime)
- Navigation: Go Router
- Local Storage: Hive
- Maps: Google Maps Flutter
- Notifications: Flutter Local Notifications
Getting Started
Prerequisites
- Flutter SDK (>=3.10.0)
- Dart SDK (>=3.0.0)
- Supabase project
Setup
-
Clone this repository
-
Install dependencies:
flutter pub get -
Set up environment variables: Create a
.envfile or use build arguments:flutter run --dart-define=SUPABASE_URL=your_url --dart-define=SUPABASE_ANON_KEY=your_key -
Run the app:
flutter run
Key Features
Phase 1 (MVP)
- User authentication (email, Google, Apple)
- Bucket list creation (up to 20 goals)
- 1356-day countdown timer
- Goal progress tracking
- Basic profile management
Phase 2 (Social)
- Public/private profiles
- Social feed
- Leaderboards
- Following system
Phase 3 (Advanced)
- Charts and analytics
- Image API integration
- Map integration for location-based goals
- Offline support
Database Schema
The app uses Supabase PostgreSQL with the following main tables:
users- User profiles and countdown datagoals- Bucket list itemsgoal_steps- Granular goal milestonesfollowers- Social relationshipsactivities- Timeline events
Architecture Patterns
- MVVM/Clean Architecture with clear separation of concerns
- Repository Pattern for data access
- Provider/StateNotifier for state management
- Feature-based organization for scalability
Development Notes
- All screens are currently placeholder implementations
- Core structure and dependencies are set up
- Authentication flow is partially implemented
- Database models and repositories are defined
- Navigation structure is in place
Next Steps
- Complete authentication implementation
- Implement bucket list creation and management
- Build countdown timer functionality
- Add goal progress tracking
- Implement social features (Phase 2)
- Add advanced analytics (Phase 3)