Skip to content

berkayinam/ExampleProjectForMediumCursorAI

Repository files navigation

Mikroservis Demo Uygulaması

Go (Gin) backend ve TailwindCSS frontend ile oluşturulmuş örnek bir mikroservis tabanlı uygulama.

Mimari

Bu uygulama aşağıdaki bileşenlere sahip bir mikroservis mimarisi kullanmaktadır:

  • API Gateway: İstekleri uygun servislere yönlendirir
  • User Service: Kullanıcı kimlik doğrulama ve yönetimini sağlar
  • Product Service: Ürün verilerini yönetir
  • Frontend: TailwindCSS tabanlı web arayüzü

Gereksinimler

  • Docker ve Docker Compose (opsiyonel)
  • Go 1.20+ (geliştirme için)

Başlangıç

Docker Compose ile Çalıştırma

  1. Servisleri derle ve başlat:
docker-compose up --build
  1. Uygulamaya http://localhost:9998 adresinden erişebilirsiniz

Geliştirme Ortamı Kurulumu

  1. Bağımlılıkları yükle:
go mod tidy
  1. Her servisi ayrı ayrı çalıştır:

Seçenek 1: run.sh script kullanarak

chmod +x run.sh
./run.sh

Seçenek 2: Make kullanarak

# Ayrı terminallerde
make run-user
make run-product
make run-gateway

Seçenek 3: Manuel olarak

# Ayrı terminallerde
# User Service
cd user-service
go run .

# Product Service
cd product-service
go run .

# API Gateway
cd api-gateway
go run .
  1. Uygulamaya http://localhost:9998 adresinden erişebilirsiniz

API Endpointleri

Kullanıcı Servisi

  • POST /api/users/register - Yeni kullanıcı kaydı
  • POST /api/users/login - Kullanıcı girişi
  • GET /api/users/profile - Kullanıcı profili görüntüleme (kimlik doğrulama gerekli)

Ürün Servisi

  • GET /api/products - Tüm ürünleri listele
  • GET /api/products/:id - ID'ye göre ürün getir
  • POST /api/products - Yeni ürün oluştur (kimlik doğrulama gerekli)
  • PUT /api/products/:id - Ürün güncelle (kimlik doğrulama gerekli)
  • DELETE /api/products/:id - Ürün sil (kimlik doğrulama gerekli)

Frontend

Frontend, API Gateway üzerinden backend servisleri ile iletişim kuran TailwindCSS ile oluşturulmuş bir SPA (Tek Sayfa Uygulaması)'dır.

Teknik Detaylar

  • Servisler localhost:9998 üzerinde çalışacak şekilde yapılandırılmıştır
  • Kimlik doğrulama JWT token'ları ile yapılmaktadır
  • Demo veriler basitlik açısından bellekte tutulmaktadır (prodüksiyonda veritabanı kullanılmalıdır)
  • CORS, cross-origin isteklerine izin verecek şekilde yapılandırılmıştır

About

Medium CursorAI Test yazısı için 3 promptta oluşturulmuş mikroservis template sitesidir.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published