# 🚀 Quick Start Guide Django REST API Authentication sistemi başarıyla kuruldu! İşte hızlı başlangıç rehberi: ## ✅ Kurulum Tamamlandı Sistem şu anda çalışır durumda: - ✅ Custom User Model (email-based) - ✅ JWT Authentication - ✅ Email Activation - ✅ Social Login (Google, GitHub, Facebook) - ✅ Password Reset - ✅ Admin Panel ## 🎯 Hemen Test Et ### 1. Server Çalıştır ```bash cd /home/beyhan/Python/server source .venv/bin/activate python manage.py runserver ``` ### 2. Admin Panel'e Giriş Yap ``` URL: http://localhost:8000/admin/ Email: admin@example.com Password: admin123 ``` ### 3. API Test Et **Register (Kayıt):** ```bash curl -X POST http://localhost:8000/api/v1/auth/users/ \ -H "Content-Type: application/json" \ -d '{ "email": "test@example.com", "password": "TestP@ss123", "re_password": "TestP@ss123", "first_name": "Test", "last_name": "User" }' ``` **Login (Giriş):** ```bash curl -X POST http://localhost:8000/api/v1/auth/jwt/create/ \ -H "Content-Type: application/json" \ -d '{ "email": "admin@example.com", "password": "admin123" }' ``` **Get User Profile:** ```bash # Önce login olup token al, sonra: curl -X GET http://localhost:8000/api/v1/auth/users/me/ \ -H "Authorization: Bearer " ``` ## 📧 Email Testing ### MailPit Kurulumu (Opsiyonel) ```bash # Docker ile docker run -d -p 1025:1025 -p 8025:8025 axllent/mailpit # Sonra email'leri görüntüle: # http://localhost:8025 ``` **Not:** MailPit olmadan da sistem çalışır, sadece email'ler console'a yazılır. ## 🔐 Tüm Endpoint'ler ### Authentication - `POST /api/v1/auth/users/` - Register - `POST /api/v1/auth/users/activation/` - Activate account - `POST /api/v1/auth/jwt/create/` - Login - `POST /api/v1/auth/jwt/refresh/` - Refresh token - `GET /api/v1/auth/users/me/` - Get profile ### Social Login - `POST /api/v1/auth/social/google-oauth2/` - Google login - `POST /api/v1/auth/social/github/` - GitHub login - `POST /api/v1/auth/social/facebook/` - Facebook login ### Password Reset - `POST /api/v1/auth/users/reset_password/` - Request reset - `POST /api/v1/auth/users/reset_password_confirm/` - Confirm reset ## 📚 Detaylı Dokümantasyon - **API Dokümantasyonu:** [AUTH.md](./AUTH.md) - **Proje Genel Bakış:** [README.md](./README.md) - **Geliştirme Notları:** [COPILOT_MEMORY.md](./COPILOT_MEMORY.md) ## 🛠️ Sonraki Adımlar ### 1. Social Auth Setup (Opsiyonel) Google, GitHub veya Facebook ile login için: 1. Provider'dan OAuth credentials al 2. `.env` dosyasına ekle: ```bash SOCIAL_AUTH_GOOGLE_OAUTH2_KEY=your-client-id SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET=your-client-secret ``` ### 2. Frontend Entegrasyonu - Nuxt.js veya Next.js ile entegre et - [AUTH.md](./AUTH.md) dosyasında detaylı örnekler var ### 3. Production Deployment - PostgreSQL database kur - SMTP email provider ayarla - Environment variables'ı production için güncelle - HTTPS enable et ## ✨ Özellikler - ✅ Email-based authentication (username yok) - ✅ JWT tokens (60 min access, 7 days refresh) - ✅ Email activation (register sonrası) - ✅ Social login (Google, GitHub, Facebook) - ✅ Password reset - ✅ Rate limiting (100/hour anon, 1000/hour user) - ✅ CORS support (SPA için) - ✅ Modern email templates - ✅ Admin panel ## 🐛 Sorun Giderme ### Server çalışmıyor? ```bash # Virtual environment aktif mi kontrol et source .venv/bin/activate # Migration'lar uygulandı mı? python manage.py migrate # Port 8000 kullanımda mı? lsof -i :8000 ``` ### Email gönderilmiyor? - MailPit çalışıyor mu? `http://localhost:8025` - Console'da email içeriğini görebilirsin ### JWT token çalışmıyor? - Token'ın expire olmadığından emin ol (60 dakika) - Header formatı: `Authorization: Bearer ` ## 💡 İpuçları 1. **Development:** - `DEBUG=True` olmalı - SQLite database kullan - MailPit ile email test et 2. **Production:** - `DEBUG=False` yap - PostgreSQL kullan - Gerçek SMTP provider kullan - HTTPS enable et 3. **Frontend:** - JWT tokens'ı localStorage veya cookie'de sakla - Refresh token ile otomatik yenileme yap - 401 hatalarında login sayfasına yönlendir ## 📞 Yardım Sorularınız için: - [AUTH.md](./AUTH.md) - Detaylı API dokümantasyonu - [README.md](./README.md) - Proje genel bakış - [COPILOT_MEMORY.md](./COPILOT_MEMORY.md) - Geliştirme notları --- **Başarılar! 🎉**