first commit
This commit is contained in:
183
QUICK_START.md
Normal file
183
QUICK_START.md
Normal file
@@ -0,0 +1,183 @@
|
||||
# 🚀 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 <your_access_token>"
|
||||
```
|
||||
|
||||
## 📧 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 <token>`
|
||||
|
||||
## 💡 İ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! 🎉**
|
||||
|
||||
Reference in New Issue
Block a user