Skip to content

🍎 DiyetVibe - Modern diet planning app built with Flutter, Clean Architecture & MVVM. Features activity tracking, weight logging, and personalized nutrition goals.

Notifications You must be signed in to change notification settings

hamidkrml/DiyetVibeCoding

Repository files navigation

🍎 DiyetVibe - Diet Planner App

Flutter Dart License

DiyetVibe, kullanıcıların sağlıklı beslenme hedeflerine ulaşmalarını sağlayan modern ve kullanıcı dostu bir mobil uygulamadır. Clean Architecture ve MVVM tasarım desenleri kullanılarak geliştirilmiştir.

✨ Özellikler

  • 🏠 Ana Dashboard: Günlük istatistikler ve ruh hali takibi
  • 📊 Aktivite Takibi: Kalori girişi ve makro besin grafikleri (Protein, Karbonhidrat, Yağ)
  • ⚖️ Kilo Takibi: Özel ruler slider ile kilo günlüğü
  • 🎯 Kişiselleştirilmiş Hedefler: Kullanıcı bazlı beslenme hedefleri
  • 📱 Modern UI/UX: Responsive tasarım ve animasyonlar
  • 💾 Yerel Veri: SharedPreferences ile yerel veri saklama

🛠️ Teknoloji Stack

Core

  • Flutter 3.8.1 - Cross-platform UI framework
  • Dart 3.8.1 - Programming language

State Management & Navigation

  • Flutter Riverpod - Declarative state management
  • Go Router - Declarative routing

UI & Visualization

  • FL Chart - Beautiful charts for Flutter
  • Flutter SVG - SVG rendering and widget library
  • Google Fonts - Beautiful fonts
  • Intl - Internationalization

Data & Storage

  • Shared Preferences - Local data persistence

🏗️ Mimari

Bu proje Clean Architecture ve MVVM tasarım desenlerini kullanmaktadır:

lib/
├── core/           # Core utilities, themes, services
│   ├── constants/  # App constants
│   ├── services/   # Business logic services
│   ├── theme/      # App theme and colors
│   ├── utils/      # Utility functions
│   └── widgets/    # Shared widgets
├── features/       # Feature-based modules
│   ├── auth/       # Authentication feature
│   ├── home/       # Home dashboard
│   ├── activity/   # Activity tracking
│   └── weight/     # Weight logging
└── main.dart       # App entry point

🚀 Kurulum ve Çalıştırma

Ön Gereksinimler

  • Flutter SDK 3.8.1 veya üzeri
  • Dart SDK 3.8.1 veya üzeri
  • Android Studio / VS Code (IDE)
  • Android SDK (Android geliştirme için)
  • Xcode (iOS geliştirme için - macOS)

Kurulum Adımları

  1. Repository'yi klonlayın:

    git clone https://github.com/hamidkrml/DiyetVibeCoding.git
    cd DiyetVibeCoding
  2. Bağımlılıkları yükleyin:

    flutter pub get
  3. iOS için pod'ları yükleyin (iOS geliştirme için):

    cd ios && pod install && cd ..
  4. Uygulamayı çalıştırın:

    # Android emulator/device
    flutter run
    
    # iOS simulator (macOS)
    flutter run --flavor development

📱 Ekran Görüntüleri

Ekran görüntüleri yakında eklenecek

🧪 Test

# Unit tests
flutter test

# Integration tests
flutter test integration_test/

# Code coverage
flutter test --coverage

📋 Yapılacaklar (Roadmap)

  • Kullanıcı authentication sistemi
  • Cloud backup (Firebase)
  • Sosyal özellikler
  • Bildirim sistemi
  • Çoklu dil desteği
  • Dark mode
  • Widget desteği
  • Wear OS companion app

🤝 Katkıda Bulunma

  1. Bu repository'yi fork edin
  2. Feature branch oluşturun (git checkout -b feature/amazing-feature)
  3. Değişikliklerinizi commit edin (git commit -m 'Add some amazing feature')
  4. Branch'inizi push edin (git push origin feature/amazing-feature)
  5. Pull Request oluşturun

Geliştirme Standartları

  • Clean Code prensiplerini takip edin
  • SOLID prensiplerini uygulayın
  • Tüm testleri geçirin
  • Code coverage %80'in üzerinde tutun
  • Commit mesajları açıklayıcı olsun

📄 Lisans

Bu proje MIT lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakın.

📞 İletişim

🙏 Teşekkür

Bu projeyi geliştirirken aşağıdaki açık kaynak projelere teşekkür ederiz:


⭐ Bu proje faydalı olduysa yıldız vermeyi unutmayın!

About

🍎 DiyetVibe - Modern diet planning app built with Flutter, Clean Architecture & MVVM. Features activity tracking, weight logging, and personalized nutrition goals.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published