Sıfırdan Production-Ready API Geliştirmeye Kadar Her Şey
Bu repository, FastAPI framework'ünü sıfırdan öğrenmek isteyenler için hazırlanmış kapsamlı bir Türkçe rehber serisidir. Seri boyunca, temel kavramlardan başlayarak production-ready API'ler geliştirmeyi öğreneceksiniz.
Bu rehber serisi:
- ✅ Sıfırdan başlayanlar için uygun
- ✅ Pratik örnekler ve projeler içerir
- ✅ Production-ready uygulamalar geliştirmeyi öğretir
- ✅ Modern Python web geliştirme pratiklerini kapsar
- ✅ Gerçek dünya senaryoları içerir
FastAPI'ye Giriş ve İlk Adımlar
- FastAPI nedir ve neden kullanmalısınız?
- Kurulum ve ilk uygulama
- ASGI, Async/Await, Type Hints
- Otomatik dokümantasyon
- Pratik: Hello API projesi
Profesyonel API Endpoint'leri Oluşturma
- Tüm HTTP metodları (GET, POST, PUT, PATCH, DELETE)
- Path ve Query parametreleri
- Request Body işleme
- Response Models
- File upload/download
- Pratik: Blog API v1
Veri Doğrulama ve Bağımlılık Yönetimi
- Pydantic ile gelişmiş validasyon
- Custom validators
- Error handling
- Dependency Injection pattern
- Sub-dependencies
- Pratik: Blog API v2
Güvenlik ve İstek İşleme Katmanları
- Middleware kavramı ve kullanımı
- CORS ayarları
- JWT Authentication
- Password hashing
- OAuth2 pattern
- Pratik: Blog API v3
Veritabanı Entegrasyonu ve Veri Yönetimi
- SQLAlchemy ORM
- Database models ve relationships
- CRUD operations
- Alembic migrations
- Transaction yönetimi
- Pratik: Blog API v4
İleri Seviye Özellikler ve Entegrasyonlar
- Background Tasks
- File operations
- WebSockets (real-time communication)
- Email entegrasyonu
- Celery task queue
- Caching stratejileri
- Pratik: File sharing service, Chat application
Test, Deploy ve Production Hazırlık
- Automated testing (pytest)
- Logging ve monitoring
- Docker deployment
- CI/CD pipeline
- Performance optimization
- Security best practices
- Production checklist
Gerçek Dünya Uygulaması
- Tam özellikli E-Commerce API
- User authentication
- Product catalog
- Shopping cart
- Order processing
- Payment integration
- Admin panel
State Yönetimi ve İleri Seviye En İyi Uygulamalar
- Application ve Request state
- Session management
- Connection state management
- Caching patterns
- Advanced design patterns
- Common pitfalls ve çözümleri
Web Uygulama Güvenliği ve OWASP Standartları
- OWASP Top 10 (2021) güvenlik açıkları
- Authentication & Authorization Security
- Input Validation & Sanitization
- API Security
- Database Security
- Cryptography & Secure Storage
- Security Testing & Auditing
- Production Security Checklist
Hızlı ve Ölçeklenebilir Sistemler
- Performance fundamentals ve metrics
- Database optimization
- Caching strategies
- Application-level optimization
- Async programming & concurrency
- Load testing & profiling
- Horizontal vs vertical scaling
- Load balancing
- CDN & static assets
- Monitoring & metrics
Modern Web Uygulamaları: Mimari Tasarım
- Mimari temelleri (Monolithic vs Separated)
- Proje yapı organizasyonu
- API Design ve iletişim
- Authentication ve Authorization Flow
- Business Logic Separation
- State Management
- Error Handling ve Validation
- Real-Time Communication
- File Upload/Download
- Best Practices ve Patterns
Development'tan Production'a Güvenli Geçiş
- Docker & Containerization
- Kubernetes Deployment
- CI/CD Pipelines
- Environment Management
- Infrastructure as Code (IaC)
- Cloud Platforms (AWS, GCP, Azure)
- Monitoring & Logging
- Backup & Disaster Recovery
- SSL/TLS & Domain Setup
- Production Checklist
Clean Code ve Maintainable Architecture
- SOLID Principles (SRP, OCP, LSP, ISP, DIP)
- Creational Patterns (Factory, Builder, Singleton)
- Structural Patterns (Adapter, Decorator, Facade, Proxy)
- Behavioral Patterns (Strategy, Observer, Command, Chain of Responsibility)
- Repository Pattern
- Service Layer Pattern
- Domain-Driven Design Patterns
- Anti-Patterns ve çözümleri
- Real-world examples
- Python 3.7 veya üzeri (önerilen: Python 3.9+)
- pip (Python paket yöneticisi)
- Temel Python bilgisi
# Sanal ortam oluştur
python -m venv venv
# Aktivasyon
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate
# FastAPI ve Uvicorn kurulumu
pip install fastapi uvicorn[standard]main.py dosyası oluşturun:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "Hello, World!"}Uygulamayı çalıştırın:
uvicorn main:app --reloadTarayıcınızda açın:
- API: http://127.0.0.1:8000
- Dokümantasyon: http://127.0.0.1:8000/docs
- Parça 1 - FastAPI temellerini öğrenin
- Parça 2 - Routes ve data handling
- Parça 3 - Validation ve DI
- Parça 4 - Security ve middleware
- Parça 5 - Database entegrasyonu
- Parça 6 - Advanced features
- Parça 7 - Testing ve deployment
- Parça 8 - Gerçek dünya projesi
- Parça 9 - State management ve best practices
- Parça 10 - Security best practices & OWASP
- Parça 11 - Performance optimization
- Parça 12 - Backend-frontend architecture
- Parça 13 - Production deployment & DevOps
- Parça 14 - Design Patterns & SOLID Principles
Bu seri boyunca kullanılan teknolojiler:
- Framework: FastAPI 0.104+
- Server: Uvicorn
- Database: PostgreSQL, SQLite
- ORM: SQLAlchemy 2.0
- Migration: Alembic
- Authentication: JWT (python-jose)
- Password Hashing: passlib[bcrypt]
- Testing: pytest
- Containerization: Docker
- Cache: Redis
- Task Queue: Celery
Seri boyunca geliştireceğiniz projeler:
Basit bilgi servisi API'si - İlk adımlar
- v1: Memory'de CRUD operasyonları
- v2: Validation ve Dependency Injection
- v3: JWT Authentication ve Security
- v4: Gerçek veritabanı entegrasyonu
Tam özellikli online alışveriş platformu backend'i
Bu rehber serisine katkıda bulunmak isterseniz:
- Fork edin
- Feature branch oluşturun (
git checkout -b feature/amazing-feature) - Değişikliklerinizi commit edin (
git commit -m 'Add amazing feature') - Branch'inizi push edin (
git push origin feature/amazing-feature) - Pull Request açın
- 🐛 Hata düzeltmeleri
- 📝 Dokümantasyon iyileştirmeleri
- ✨ Yeni örnekler ve projeler
- 🔧 Kod iyileştirmeleri
- 🌐 Çeviri desteği
Bu proje MIT lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakın.
Bu rehber serisini beğendiyseniz, GitHub'da yıldız vermeyi unutmayın! ⭐
Sorularınız veya önerileriniz için:
- GitHub Issues açabilirsiniz
- Pull Request gönderebilirsiniz
- ✅ Her parçayı sırayla takip edin
- ✅ Kod örneklerini kendiniz yazın
- ✅ Pratik projeleri tamamlayın
- ✅ Dokümantasyonu okuyun
- ✅ Toplulukla etkileşimde bulunun
- Her parçadaki örnekleri çalıştırın
- Kendi projelerinizi geliştirin
- GitHub'da paylaşın
- Geri bildirim alın
Parça 1: Temeller
↓
Parça 2: Routes & Data
↓
Parça 3: Validation & DI
↓
Parça 4: Security & Middleware
↓
Parça 5: Database
↓
Parça 6: Advanced Features
↓
Parça 7: Testing & Deployment
↓
Parça 8: E-Commerce Project
↓
Parça 9: State Management
↓
Parça 10: Security & OWASP
↓
Parça 11: Performance & Scalability
↓
Parça 12: Backend-Frontend Architecture
↓
Parça 13: DevOps & Production Deployment
↓
Parça 14: Design Patterns & SOLID Principles
FastAPI öğrenme yolculuğunuzda başarılar dileriz!
Unutmayın:
- Sürekli pratik yapın
- Dokümantasyonu okuyun
- Toplulukla etkileşimde bulunun
- Kod kalitesine önem verin
- Testing'i ihmal etmeyin
- Security'yi ciddiye alın
Hazırsanız, Parça 1'den başlayın! 🚀
Toplam Parça Sayısı: 14
Son Güncelleme: 2025
Versiyon: 1.0
Dil: Türkçe
- Toplam Parça: 14
- Temel Seviye: Parça 1-5
- İleri Seviye: Parça 6-9
- Uzman Seviye: Parça 10-14
- Pratik Projeler: Blog API (v1-v4), E-Commerce API
- Toplam İçerik: 13 kapsamlı rehber