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

A modern Flutter app for habit tracking and task management, featuring streak monitoring, visual progress analytics, customizable reminders, and seamless cloud synchronization across devices.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages