Skip to content

PehlivanMert/my-health-tracker-app

Repository files navigation

Sağlık ve Rutin Takip Sistemi 🏋️‍♂️💧

Proje Logo

Türkçe kişisel sağlık, fitness ve wellness takip platformu. Firebase tabanlı, PWA destekli ve AI entegreli modern bir React uygulaması.

🌟 Temel Özellikler

📅 Entegre Sistemler

  • Günlük Rutin Takibi (Alarmlı hatırlatıcılar, tarih bazlı filtreleme)
  • Akıllı Su Takip Sistemi (Hareketli su animasyonlu)
  • AI Destekli Egzersiz Koçu (Gemini AI ile kişiselleştirilmiş programlar)
  • Kişiselleştirilmiş Sağlık Panosu (AI öneri sistemi)
  • Takviye Yönetimi (Vitamin, mineral takibi)
  • Akıllı Takvim (Renk kodlu etkinlikler)
  • Gelişmiş Zamanlayıcı (Pomodoro, Flowtime, Custom modları)

🚀 Teknolojik Alt Yapı

  • Firebase Realtime Database
  • Gemini AI Entegrasyonu
  • PWA & Offline Destek
  • Gelişmiş Bildirim Yönetim Sistemi
  • Çoklu Dil Desteği (Türkçe/İngilizce)
  • Responsive Tasarım

🆕 Son Güncellemeler (v2.2.0)

🤖 AI Egzersiz Koçu Sistemi

  • Gemini AI entegrasyonu ile kişiselleştirilmiş spor programları
  • Kullanıcı profil verilerine göre özel program oluşturma
  • YouTube video önerileri ile egzersiz rehberliği
  • Günlük 3 program oluşturma limiti
  • Detaylı program analizi (hedefler, süre, zorluk seviyesi)
  • Modern ve kullanıcı dostu arayüz

✅ Kimlik Doğrulama İyileştirmeleri

  • Şifre Sıfırlama Sistemi düzeltildi ve optimize edildi
  • E-posta doğrulama validasyonu iyileştirildi
  • Güvenlik kontrolleri güçlendirildi

📊 Rutin Takip Sistemi Güncellemeleri

  • Günlük/Haftalık/Aylık İstatistikler doğru şekilde sıfırlanıyor
  • Rutin ekleme ekranına tarih seçici eklendi
  • Başarı oranı hesaplamaları tarih bazlı filtreleme ile düzeltildi
  • Pazartesi günü haftalık, ayın ilk günü aylık sıfırlama

⏱️ Gelişmiş Zamanlayıcı Sistemi

  • Pomodoro Tekniği (25/5/15/30 dakika)
  • Flowtime Tekniği (Çalışma süresi sayımı, mola süresi geri sayımı)
  • Custom Mod (Kişiselleştirilmiş ayarlar)
  • Popüler Preset'ler:
    • Ultra Focus (90/20)
    • Deep Work (50/10)
    • Quick Sprint (15/3)
    • Marathon (120/30)
    • Power Hour (60/15)
  • Mod bazlı preset filtreleme
  • Akıllı uzun mola sistemi (sadece Pomodoro ve Custom modlarda)

🔔 Bildirim Sistemi İyileştirmeleri

  • Daha akıllı su takip bildirimleri
  • Gelişmiş takviye hatırlatma sistemi
  • Global bildirim ayarları optimizasyonu

🤖 AI Entegrasyonu Güncellemesi

  • Qwen AI'den Gemini AI'ye geçiş yapıldı
  • Daha hızlı ve doğru sağlık önerileri
  • Gelişmiş AI destekli sağlık panosu

🛠 Kurulum

Gereksinimler

  • Node.js v18+
  • Firebase Projesi
  • Gemini AI API Key
git clone https://github.com/PehlivanMert/my-health-tracker-app.git
cd my-health-tracker-app
npm install

Ortam Değişkenleri

.env dosyası oluşturun:

VITE_FIREBASE_API_KEY=xxx
VITE_FIREBASE_AUTH_DOMAIN=xxx
VITE_GEMINI_API_KEY=xxx

Çalıştırma

npm run dev

📚 Sistem Mimarisi

Ana Bileşenler

  1. Kimlik Yönetimi

    • E-posta/Şifre ile Giriş
    • Şifre Sıfırlama (Düzeltildi)
    • E-posta Doğrulama
  2. Sağlık Modülleri Diagram

  3. Veri Akış Diyagramı sequenceDiagram

📱 Ekran Görüntüleri

Özellik Görsel
Giriş Ekranı Giriş Ekranı
Profil Sayfası Profil Sayfası
Rutin Takip Rutin Takip
Su Takibi Su Takibi
AI Egzersiz Koçu AI Egzersizler
Sağlık Panosu Dashboard
Takviye Yönetimi Takviyeler
Takviye Detayları Takviye Detayları
Tarifler Tarifler
Tam Ekran Akıllı Takvim Takvim
Takvim Renkleri Takvim Renkleri

🌍 Canlı Demo

👉 Site Linki

📜 Lisans

MIT Lisansı - Detaylar için LICENSE dosyasına bakınız.


🤖 AI Egzersiz Koçu Sistemi

Özellikler

  • Kişiselleştirilmiş Programlar: Kullanıcının yaş, kilo, boy, hedefler ve mevcut fitness seviyesine göre özel programlar
  • Akıllı Analiz: Gemini AI ile detaylı program analizi ve öneriler
  • YouTube Entegrasyonu: Her egzersiz için otomatik YouTube video arama
  • Günlük Limit: Günde 3 program oluşturma hakkı
  • Detaylı Raporlama: Hedefler, süre, zorluk seviyesi ve egzersiz açıklamaları

Program Yapısı

  • Program Özeti: Genel program açıklaması
  • Hedefler: Kişisel fitness hedefleri
  • Haftalık Program: 7 günlük detaylı egzersiz planı
  • Önemli Notlar: Güvenlik ve performans ipuçları
  • Video Önerileri: YouTube'da arama yapılabilecek anahtar kelimeler

Kullanım

  1. Profil bilgilerinizi güncelleyin
  2. "Yeni Program Oluştur" butonuna tıklayın
  3. Hedeflerinizi ve tercihlerinizi belirtin
  4. AI'nin kişiselleştirilmiş programınızı oluşturmasını bekleyin
  5. Programı inceleyin ve YouTube videolarıyla egzersizleri öğrenin

🔔 Bildirim Sistemi Detayları

Rutin & Takvim Bildirimleri

  • Rutin Bildirimleri:
    Belirlenen rutin saatlerde (örn: 07:00, 21:00) otomatik bildirim gönderilir. Global bildirim penceresi bu bildirimleri etkilemez.
  • Takvim Bildirimleri:
    Takvim etkinliklerine ait bildirimler, ayarlanan offset değerlerine göre (örneğin 15 dakika, 1 saat öncesi) gönderilir. Bu bildirimler de global bildirim penceresinden bağımsızdır.

Akıllı Su Bildirimleri

  • Smart Mod:

    • Kullanıcı "akıllı" modda ise, sistem önce konum bilgisine dayalı güncel sıcaklık bilgisini alır.
    • Sıcaklık 30°C ve üzeriyse, sabit olarak 1.5 saat; aksi halde 2 saat eklenir.
    • Son 7 günün su tüketim verilerinden ortalama tüketim hızı hesaplanarak, kalan su miktarının ne kadar sürede biteceği (tahmini hedef zamanı) daha detaylı belirlenir.
    • Hedef zamanı geldiğinde (örneğin 1 dakika içinde) bildirim gönderilir ve bu bilgi beyaz renkli metinle kullanıcıya sunulur.
  • Custom Mod:
    Kullanıcı "özel" modda, kaç saatte bir bildirim almak istediğini belirler. Bu değer mevcut zamana eklenerek bildirim zamanı hesaplanır.

Takviye Bildirimleri

  • Planlanmış Bildirim Saatleri:

    • Kullanıcı, takviyeler için planlanmış bildirim saatlerini (örn: "08:00, 14:00") belirleyebilmekte.
    • Belirlenen saatlerde bildirim gönderilir.
    • Eğer planlanan saat geçmişse ve henüz takviyeden beklenen tüketim gerçekleşmemişse, "Takviyenizi almayı unuttunuz!" şeklinde uyarı tetiklenir.
  • Tahmini Kalan Günler & Otomatik Bildirim:

    • Her takviyenin kalan miktarı, günlük kullanım miktarına (dailyUsage) bölünerek tahmini kalan gün sayısı hesaplanır.
    • Eğer bu değer 14, 7, 3 veya 1 gün gibi belirlenen eşiklere ulaşırsa, kullanıcıya "Takviyeniz yakında bitiyor!" bildirimi gönderilir.
    • Eğer planlanmış zaman alanı boş bırakılmışsa, sistem otomatik olarak takviyenin günlük kullanımına göre kalan süreyi hesaplar ve eğer kalan süre 2 saat veya daha az ise bildirim oluşturur.
  • Otomatik Toplu Hatırlatma:

    • Global bildirim penceresinin bitimine (örneğin son 15 dakika) girildiğinde, o gün henüz alınması gereken takviyeler varsa, sistem bu takviyeleri tek bir toplu bildirimde listeler.

Global Bildirim Ayarları

  • Kullanıcı, "Global Bildirim Ayarları" modali aracılığıyla sadece belirlediği saat aralığında (örn: 08:00–22:00) su ve takviye bildirimleri almak üzere ayar yapar.
  • Bu ayar, rutin ve takvim bildirimlerini etkilemez.

⏱️ Gelişmiş Zamanlayıcı Özellikleri

Desteklenen Modlar

  • Pomodoro: Klasik 25 dakika çalışma, 5 dakika kısa mola, 15 dakika uzun mola
  • Flowtime: Çalışma süresi sayımı, mola süresi geri sayımı
  • Custom: Kişiselleştirilmiş çalışma ve mola süreleri

Popüler Preset'ler

  • Ultra Focus: 90 dakika çalışma, 20 dakika mola
  • Deep Work: 50 dakika çalışma, 10 dakika mola
  • Quick Sprint: 15 dakika çalışma, 3 dakika mola
  • Marathon: 120 dakika çalışma, 30 dakika mola
  • Power Hour: 60 dakika çalışma, 15 dakika mola

Akıllı Özellikler

  • Mod bazlı preset filtreleme
  • Otomatik uzun mola sistemi (4 pomodoro sonrası)
  • Flowtime modunda çalışma süresi sayımı
  • Mola sürelerinde geri sayım
  • Otomatik mod geçişleri

🌍 Katkıda Bulunma

Hata raporları ve özellik istekleri için Issues bölümünü kullanın.

⭐ Projeyi Beğendiyseniz Yıldız Verin!

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages