Skip to content

FatihErenCetin/FastAPI-Notes

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

FastAPI Kapsamlı Rehber Serisi

Sıfırdan Production-Ready API Geliştirmeye Kadar Her Şey

FastAPI Python License


📖 Hakkında

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

🎯 Seri İçeriği

📚 Parça 1: Temeller ve İlk Uygulama

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

📖 Parça 1'i Oku →


📚 Parça 2: Routes ve Data Handling

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

📖 Parça 2'yi Oku →


📚 Parça 3: Validation ve Dependency Injection

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

📖 Parça 3'ü Oku →


📚 Parça 4: Middleware, CORS ve Security

Güvenlik ve İstek İşleme Katmanları

  • Middleware kavramı ve kullanımı
  • CORS ayarları
  • JWT Authentication
  • Password hashing
  • OAuth2 pattern
  • Pratik: Blog API v3

📖 Parça 4'ü Oku →


📚 Parça 5: Database Integration

Veritabanı Entegrasyonu ve Veri Yönetimi

  • SQLAlchemy ORM
  • Database models ve relationships
  • CRUD operations
  • Alembic migrations
  • Transaction yönetimi
  • Pratik: Blog API v4

📖 Parça 5'i Oku →


📚 Parça 6: Advanced Features

İ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

📖 Parça 6'yı Oku →


📚 Parça 7: Testing, Deployment & Best Practices

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

📖 Parça 7'yi Oku →


📚 Parça 8: E-Commerce API Projesi

Gerçek Dünya Uygulaması

  • Tam özellikli E-Commerce API
  • User authentication
  • Product catalog
  • Shopping cart
  • Order processing
  • Payment integration
  • Admin panel

📖 Parça 8'i Oku →


📚 Parça 9: State Management & Best Practices

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

📖 Parça 9'u Oku →


📚 Parça 10: Security Best Practices & OWASP Top 10

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

📖 Parça 10'u Oku →


📚 Parça 11: Performance Optimization & Scalability

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

📖 Parça 11'i Oku →


📚 Parça 12: Backend-Frontend Architecture

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

📖 Parça 12'yi Oku →


📚 Parça 13: Production Deployment & DevOps

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

📖 Parça 13'ü Oku →


📚 Parça 14: Design Patterns & SOLID Principles

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

📖 Parça 14'ü Oku →


🚀 Hızlı Başlangıç

Gereksinimler

  • Python 3.7 veya üzeri (önerilen: Python 3.9+)
  • pip (Python paket yöneticisi)
  • Temel Python bilgisi

Kurulum

# 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]

İlk Uygulama

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 --reload

Tarayıcınızda açın:


📋 Öğrenme Yolu

Yeni Başlayanlar İçin

  1. Parça 1 - FastAPI temellerini öğrenin
  2. Parça 2 - Routes ve data handling
  3. Parça 3 - Validation ve DI
  4. Parça 4 - Security ve middleware
  5. Parça 5 - Database entegrasyonu

İleri Seviye

  1. Parça 6 - Advanced features
  2. Parça 7 - Testing ve deployment
  3. Parça 8 - Gerçek dünya projesi
  4. Parça 9 - State management ve best practices
  5. Parça 10 - Security best practices & OWASP
  6. Parça 11 - Performance optimization
  7. Parça 12 - Backend-frontend architecture
  8. Parça 13 - Production deployment & DevOps
  9. Parça 14 - Design Patterns & SOLID Principles

🛠️ Teknoloji Stack

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

📦 Projeler

Seri boyunca geliştireceğiniz projeler:

1. Hello API (Parça 1)

Basit bilgi servisi API'si - İlk adımlar

2. Blog API v1-v4 (Parça 2-5)

  • v1: Memory'de CRUD operasyonları
  • v2: Validation ve Dependency Injection
  • v3: JWT Authentication ve Security
  • v4: Gerçek veritabanı entegrasyonu

3. E-Commerce API (Parça 8)

Tam özellikli online alışveriş platformu backend'i


📚 Ek Kaynaklar

Resmi Dokümantasyon

Öğrenme Kaynakları


🤝 Katkıda Bulunma

Bu rehber serisine katkıda bulunmak isterseniz:

  1. Fork edin
  2. Feature branch oluşturun (git checkout -b feature/amazing-feature)
  3. Değişikliklerinizi commit edin (git commit -m 'Add amazing feature')
  4. Branch'inizi push edin (git push origin feature/amazing-feature)
  5. Pull Request açın

Katkı Türleri

  • 🐛 Hata düzeltmeleri
  • 📝 Dokümantasyon iyileştirmeleri
  • ✨ Yeni örnekler ve projeler
  • 🔧 Kod iyileştirmeleri
  • 🌐 Çeviri desteği

📝 Lisans

Bu proje MIT lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakın.


⭐ Yıldız Verin

Bu rehber serisini beğendiyseniz, GitHub'da yıldız vermeyi unutmayın! ⭐


📞 İletişim

Sorularınız veya önerileriniz için:

  • GitHub Issues açabilirsiniz
  • Pull Request gönderebilirsiniz

🎓 Öğrenme İpuçları

Etkili Öğrenme İçin:

  1. ✅ Her parçayı sırayla takip edin
  2. ✅ Kod örneklerini kendiniz yazın
  3. ✅ Pratik projeleri tamamlayın
  4. ✅ Dokümantasyonu okuyun
  5. ✅ Toplulukla etkileşimde bulunun

Pratik Yapın:

  • Her parçadaki örnekleri çalıştırın
  • Kendi projelerinizi geliştirin
  • GitHub'da paylaşın
  • Geri bildirim alın

🗺️ Seri Haritası

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

🎉 Başarılar!

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


📊 Seri İstatistikleri

  • 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

About

FastAPI framework'ünü sıfırdan öğrenmek isteyenler için hazırlanmış, Türkçe bir eğitim rehber serisi. Temel kavramlardan production-ready API geliştirmeye kadar ilerleyen bir öğrenme yolu sunar.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors