Skip to content

Tribe 1 - Sportlink mobil uygulamasının backend kod deposu. Güvenli, ölçeklenebilir ve yüksek performanslı servisler sağlamak için Node.js ve Express tabanlı olarak geliştirilmiştir. Veri yönetimi ve API entegrasyonlarıyla güçlü bir altyapı sunar.

Notifications You must be signed in to change notification settings

Divizyon/t1-sportlink-mobil-backend

Repository files navigation

Sportlink Web Backend

Bu proje, Sportlink web uygulamasının backend kısmıdır. TypeScript ve Supabase kullanılarak geliştirilmiştir.

Teknolojiler

  • Node.js
  • Express.js
  • TypeScript
  • Supabase (PostgreSQL + Auth)
  • Jest (Test)
  • Docker
  • Swagger/OpenAPI (API Dokümantasyonu)

Kurulum

  1. Projeyi klonlayın:
git clone https://github.com/Divizyon/t1-sportlink-web-backend.git
cd sportlink-web-backend
  1. Bağımlılıkları yükleyin:
npm install
  1. .env dosyasını oluşturun ve gerekli değişkenleri ayarlayın:
PORT=3000
NODE_ENV=development
SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_supabase_key
SUPABASE_SERVICE_KEY=your_supabase_service_key
JWT_SECRET=your_jwt_secret
JWT_EXPIRES_IN=3600
FRONTEND_URL=http://localhost:5173
  1. Geliştirme modunda çalıştırın:
npm run dev

Docker ile Çalıştırma

  1. Docker Desktop'ı yükleyin ve çalıştırın.

  2. Container'ı oluşturup çalıştırın:

docker-compose up
  1. Arka planda çalıştırmak için:
docker-compose up -d
  1. Container'ı durdurmak için:
docker-compose down
  1. Production build için:
docker build -t sportlink-web-backend .
docker run -p 3000:3000 sportlink-web-backend

Klasör Yapısı

src/
├── config/         # Yapılandırma dosyaları
├── controllers/    # İstek işleyicileri
├── middleware/     # Ara yazılımlar
├── models/         # Veri modelleri
├── routes/         # API rotaları
├── services/       # İş mantığı
├── utils/          # Yardımcı fonksiyonlar
└── index.ts        # Uygulama giriş noktası

API Rotaları

Kimlik Doğrulama

  • POST /api/auth/register - Yeni kullanıcı kaydı
  • POST /api/auth/login - Kullanıcı girişi
  • POST /api/auth/logout - Kullanıcı çıkışı
  • GET /api/auth/me - Mevcut kullanıcı bilgilerini getir
  • POST /api/auth/reset-password - Şifre sıfırlama

Kullanıcılar

  • GET /api/users - Tüm kullanıcıları getir (sadece admin)
  • GET /api/users/:id - Belirli bir kullanıcıyı getir

API Dokümantasyonu

Bu projede API dokümantasyonu için Swagger/OpenAPI kullanılmıştır. Swagger UI aracılığıyla API'nizi görsel olarak keşfedebilir ve test edebilirsiniz.

Swagger UI Erişimi

API dokümantasyonuna aşağıdaki URL üzerinden erişebilirsiniz:

http://localhost:3000/api-docs

Dokümantasyon aşağıdaki özellikleri içerir:

  • Tüm API endpointlerinin detaylı açıklamaları
  • Request/Response şemaları
  • Örnek API çağrıları
  • Interaktif API testi yapabilme
  • Kimlik doğrulama gereksinimleri

Swagger JSON

OpenAPI şemasının JSON formatına aşağıdaki URL üzerinden erişebilirsiniz:

http://localhost:3000/api-docs.json

Geliştirme Standartları

Bu proje, .cursorrules dosyasında belirtilen Sportlink Development Standards (SCDS) kurallarına uygun olarak geliştirilmiştir.

About

Tribe 1 - Sportlink mobil uygulamasının backend kod deposu. Güvenli, ölçeklenebilir ve yüksek performanslı servisler sağlamak için Node.js ve Express tabanlı olarak geliştirilmiştir. Veri yönetimi ve API entegrasyonlarıyla güçlü bir altyapı sunar.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 12

Languages