Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

🏋️‍♂️ AI Destekli Full Stack Fitness Microservices Uygulaması

Modern Microservices mimarisi kullanılarak geliştirilmiş, uçtan uca (Full Stack) bir fitness takip uygulamasıdır.
Kullanıcıların antrenman verilerini kaydetmelerine olanak tanır ve Google Gemini AI entegrasyonu sayesinde yapılan aktivitelere özel kişiselleştirilmiş sağlık ve antrenman tavsiyeleri sunar.

Bu proje;

  • Senkron ve asenkron servis iletişimi
  • Güvenlik (OAuth2 & Keycloak)
  • Olay güdümlü mimari (Event-Driven Architecture)

gibi modern backend yaklaşımlarını içeren kapsamlı bir örnek uygulamadır.


📌 Proje Mimarisi

Proje, tek bir monolitik yapı yerine her biri kendi sorumluluğuna sahip bağımsız servislerden oluşur.

Servisler arası iletişim:

  • REST API (Senkron iletişim)
  • RabbitMQ (Asenkron iletişim)

🧩 Mikroservisler ve Bileşenler

1. API Gateway

Spring Cloud Gateway

  • Tüm dış isteklerin karşılandığı tek giriş noktasıdır.
  • İstekleri ilgili mikroservislere yönlendirir.

2. User Service

PostgreSQL

  • Kullanıcı profil verilerini yönetir.
  • Keycloak ile senkronize çalışır.

3. Activity Service

MongoDB

  • Kullanıcı aktivitelerini kaydeder.
  • Süre, kalori ve aktivite türü gibi verileri saklar.

4. AI Service

MongoDB + Google Gemini API

  • RabbitMQ üzerinden gelen aktivite mesajlarını dinler.
  • Aktivite verilerini analiz ederek kişiselleştirilmiş öneriler üretir.

5. Service Discovery

Eureka Server

  • Mikroservislerin birbirini dinamik olarak bulmasını sağlar.

6. Config Server

  • Servis konfigürasyonlarını merkezi olarak yönetir.

7. Frontend

React + Vite

  • Kullanıcıların veri girdiği ve AI önerilerini görüntülediği modern arayüz.

🛠️ Kullanılan Teknolojiler

Backend

  • Java 21
  • Spring Boot 3
  • Spring Cloud (Gateway, Eureka, Config Server, OpenFeign)
  • Spring Security & OAuth2
  • Hibernate & JPA
  • Google Gemini API

Veri ve Mesajlaşma

  • PostgreSQL
  • MongoDB
  • RabbitMQ

Frontend

  • React (Vite)
  • Redux Toolkit
  • Material UI
  • Axios

DevOps ve Araçlar

  • Docker
  • Keycloak
  • Postman

🚀 Temel Özellikler

Merkezi Kimlik Doğrulama

  • Keycloak ile güvenli giriş ve kullanıcı yönetimi

Aktivite Takibi

  • Koşu, yürüyüş, bisiklet vb. aktivitelerin kaydedilmesi
  • Süre ve kalori bilgisi desteği

Asenkron AI Analizi

  • Aktivite kaydedildiğinde RabbitMQ üzerinden event gönderilir
  • Kullanıcı bekletilmeden analiz arka planda yapılır

Akıllı Tavsiyeler

  • Google Gemini aktivite verisini analiz eder
  • Yapılandırılmış JSON formatında öneriler üretir

API Gateway Routing

  • Tüm servisler tek bir port üzerinden erişilebilir

🔄 Sistem Akışı

  1. Kullanıcı frontend üzerinden aktivite girer.
  2. API Gateway isteği Activity Service’e yönlendirir.
  3. Aktivite kaydedilir.
  4. RabbitMQ üzerinden AI Service’e event gönderilir.
  5. AI Service Gemini API ile analiz yapar.
  6. Üretilen öneriler veritabanına kaydedilir.
  7. Frontend önerileri kullanıcıya gösterir.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages