Skip to content

callmeartan/habitly

Repository files navigation

Habitly

A beautiful, modern habit tracking app built with Flutter

Flutter Dart Firebase MIT License

FeaturesTech StackArchitectureContributing

🌟 Key Features

Core Functionality

  • 📱 Track daily, weekly, and monthly habits
  • 📊 Visual progress tracking with intuitive metrics
  • 🔥 Streak monitoring with detailed statistics
  • 🎯 Smart categorization and priority management
  • 🔄 Seamless offline/online synchronization
  • 🔔 Customizable reminders and notifications

User Experience

  • 🎨 Modern, clean interface with smooth animations
  • 🌓 Beautiful dark and light themes
  • 📱 Responsive design across all screen sizes
  • ⚡ Optimized performance and instant feedback
  • 🔍 Powerful search and filtering capabilities

Data & Analytics

  • 📈 Detailed progress visualization
  • 📊 Comprehensive habit statistics
  • 📅 Interactive calendar view
  • 🎯 Goal tracking and achievements
  • 📱 Cross-device synchronization

💻 Tech Stack

Frontend

  • Framework: Flutter 3.x
  • State Management: Provider
  • Local Storage: SharedPreferences
  • Notifications: flutter_local_notifications
  • UI Components: Material Design & Custom Widgets

Backend

  • Authentication: Firebase Auth
  • Database: Cloud Firestore
  • Analytics: Firebase Analytics
  • Cloud Functions: Firebase Cloud Functions

Development

  • Language: Dart 3.x
  • Architecture: Clean Architecture
  • Testing: Unit & Widget Tests
  • CI/CD: GitHub Actions

🏗 Architecture

lib/
├── models/
│   ├── habit.dart              # Core habit data model
│   └── task.dart               # Task management model
├── screens/
│   ├── dashboard/
│   │   ├── habit_dashboard.dart    # Main dashboard
│   │   └── widgets/                # Dashboard components
│   ├── calendar/
│   │   └── habit_calendar.dart     # Calendar view
│   └── settings/
│       └── settings_screen.dart    # App settings
├── services/
│   ├── auth_service.dart       # Authentication
│   ├── firebase_sync.dart      # Cloud sync
│   └── notification_service.dart    # Local notifications
├── repositories/
│   ├── habit_repository.dart   # Habit data handling
│   └── task_repository.dart    # Task data handling
└── providers/
    ├── theme_provider.dart     # Theme management
    └── navigation_state.dart   # Navigation state

🚀 Implementation Highlights

Authentication & Sync

  • Seamless Google & Apple Sign-In
  • Secure token management
  • Efficient data synchronization
  • Offline capability with local persistence

State Management

  • Reactive state updates with Provider
  • Efficient UI rebuilds
  • Clean separation of concerns
  • Robust error handling

Data Persistence

  • Local data caching
  • Automatic cloud backup
  • Conflict resolution
  • Data migration support

🛠 Technical Features

Performance Optimization

  • Lazy loading of data
  • Efficient list rendering
  • Image caching
  • Background task handling

Security

  • Secure data storage
  • Firebase Authentication
  • Data encryption
  • Privacy protection

🔜 Future Roadmap

  • Advanced Analytics Dashboard
  • Social Features & Sharing
  • Custom Widget Support
  • AI-Powered Insights
  • Extended Theme Customization
  • Public API

👥 Contributing

We welcome contributions! Here's how you can help:

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📫 Contact & Support

📄 License

Distributed under the MIT License. See LICENSE for more information.


Made with ❤️ by Artan

WebsiteDocumentationSupport

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages