Go (Gin) backend ve TailwindCSS frontend ile oluşturulmuş örnek bir mikroservis tabanlı uygulama.
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ü
- Docker ve Docker Compose (opsiyonel)
- Go 1.20+ (geliştirme için)
- Servisleri derle ve başlat:
docker-compose up --build- Uygulamaya http://localhost:9998 adresinden erişebilirsiniz
- Bağımlılıkları yükle:
go mod tidy- Her servisi ayrı ayrı çalıştır:
Seçenek 1: run.sh script kullanarak
chmod +x run.sh
./run.shSeçenek 2: Make kullanarak
# Ayrı terminallerde
make run-user
make run-product
make run-gatewaySeç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 .- Uygulamaya http://localhost:9998 adresinden erişebilirsiniz
POST /api/users/register- Yeni kullanıcı kaydıPOST /api/users/login- Kullanıcı girişiGET /api/users/profile- Kullanıcı profili görüntüleme (kimlik doğrulama gerekli)
GET /api/products- Tüm ürünleri listeleGET /api/products/:id- ID'ye göre ürün getirPOST /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, API Gateway üzerinden backend servisleri ile iletişim kuran TailwindCSS ile oluşturulmuş bir SPA (Tek Sayfa Uygulaması)'dır.
- 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