Bu proje, Sportlink web uygulamasının backend kısmıdır. TypeScript ve Supabase kullanılarak geliştirilmiştir.
- Node.js
- Express.js
- TypeScript
- Supabase (PostgreSQL + Auth)
- Jest (Test)
- Docker
- Swagger/OpenAPI (API Dokümantasyonu)
- Projeyi klonlayın:
git clone https://github.com/Divizyon/t1-sportlink-web-backend.git
cd sportlink-web-backend
- Bağımlılıkları yükleyin:
npm install
.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
- Geliştirme modunda çalıştırın:
npm run dev
-
Docker Desktop'ı yükleyin ve çalıştırın.
-
Container'ı oluşturup çalıştırın:
docker-compose up
- Arka planda çalıştırmak için:
docker-compose up -d
- Container'ı durdurmak için:
docker-compose down
- Production build için:
docker build -t sportlink-web-backend .
docker run -p 3000:3000 sportlink-web-backend
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ı
POST /api/auth/register
- Yeni kullanıcı kaydıPOST /api/auth/login
- Kullanıcı girişiPOST /api/auth/logout
- Kullanıcı çıkışıGET /api/auth/me
- Mevcut kullanıcı bilgilerini getirPOST /api/auth/reset-password
- Şifre sıfırlama
GET /api/users
- Tüm kullanıcıları getir (sadece admin)GET /api/users/:id
- Belirli bir kullanıcıyı getir
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.
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
OpenAPI şemasının JSON formatına aşağıdaki URL üzerinden erişebilirsiniz:
http://localhost:3000/api-docs.json
Bu proje, .cursorrules
dosyasında belirtilen Sportlink Development Standards (SCDS) kurallarına uygun olarak geliştirilmiştir.