Files
atahango/belgeler/QUICKSTART.txt
Beyhan Oğur bbbf76b184 first commit
2026-04-26 21:35:24 +03:00

167 lines
11 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
╔═══════════════════════════════════════════════════════════════════════╗
║ 🚀 GAuth-Central Quick Start ║
╚═══════════════════════════════════════════════════════════════════════╝
┌─────────────────────────────────────────────────────────────────────┐
│ 🎯 HIZLI BAŞLATMA │
└─────────────────────────────────────────────────────────────────────┘
Standalone Mode (Mevcut Sunucularla):
────────────────────────────────────────
$ ./start.sh
Docker Mode (Tüm Servisler):
────────────────────────────
$ ./start-with-docker.sh
Manuel:
───────
$ go run main.go
┌─────────────────────────────────────────────────────────────────────┐
│ 🌐 ERİŞİM NOKTALARI │
└─────────────────────────────────────────────────────────────────────┘
API: http://localhost:8080
Swagger: http://localhost:8080/docs/index.html
Frontend: http://localhost:3000 (CORS enabled)
┌─────────────────────────────────────────────────────────────────────┐
│ 🔧 MEVCUT YAPILANDIRMA │
└─────────────────────────────────────────────────────────────────────┘
PostgreSQL: 10.80.80.70:5432/go_gauth (user: cloud)
Redis: 10.80.80.70:6379 (user: default)
Backend: localhost:8080
┌─────────────────────────────────────────────────────────────────────┐
│ 🧪 TEST KOMUTLARI │
└─────────────────────────────────────────────────────────────────────┘
Sağlık Kontrolü:
────────────────
$ curl http://localhost:8080/
PostgreSQL Test:
────────────────
$ PGPASSWORD=gg7678290 psql -h 10.80.80.70 -U cloud \
-d go_gauth -c "SELECT 1;"
Redis Test:
───────────
$ redis-cli -h 10.80.80.70 -p 6379 -a gg7678290 \
--no-auth-warning PING
Kullanıcı Kaydı:
────────────────
$ curl -X POST http://localhost:8080/v1/auth/register \
-H "Content-Type: application/json" \
-d '{"email":"test@test.com","password":"Pass123!",
"user_name":"test"}'
┌─────────────────────────────────────────────────────────────────────┐
│ 📚 DOKÜMANTASYON │
└─────────────────────────────────────────────────────────────────────┘
README.md - Genel bilgiler ve özellikler
SETUP.md - Detaylı kurulum rehberi (4 seçenek)
DEPLOYMENT.md - Production deployment rehberi
QUICK_REFERENCE.md - Komutlar ve örnekler
CHANGELOG.md - Versiyon geçmişi
┌─────────────────────────────────────────────────────────────────────┐
│ ✨ ÖNE ÇIKAN ÖZELLİKLER │
└─────────────────────────────────────────────────────────────────────┘
✅ CORS yapılandırması (localhost:3000)
✅ Redis cache & session management
✅ Rate limiting (Login: 5/min, Register: 3/5min)
✅ JWT authentication
✅ OAuth2 (Google, GitHub)
✅ Email verification
✅ PostgreSQL + GORM
✅ Swagger documentation
✅ Docker support
┌─────────────────────────────────────────────────────────────────────┐
│ 🔐 GÜVENLİK ÖZELLİKLERİ │
└─────────────────────────────────────────────────────────────────────┘
• Bcrypt password hashing
• JWT token authentication
• Rate limiting (brute force protection)
• Token blacklist (logout)
• CORS policy
• Session management with Redis
┌─────────────────────────────────────────────────────────────────────┐
│ 📊 API ENDPOINTS │
└─────────────────────────────────────────────────────────────────────┘
POST /v1/auth/register - Kayıt (rate limited)
POST /v1/auth/login - Giriş (rate limited)
GET /v1/auth/verify-email - Email doğrulama
POST /v1/auth/refresh - Token yenileme
GET /v1/auth/me [Auth] - Kullanıcı bilgileri
GET /v1/auth/validate [Auth] - Token doğrulama
GET /v1/auth/:provider - OAuth (google/github)
┌─────────────────────────────────────────────────────────────────────┐
│ 🛠️ YARARLI KOMUTLAR │
└─────────────────────────────────────────────────────────────────────┘
Build: go build -o main .
Run: ./main
Dev Mode: go run main.go
Swagger Update: swag init -g main.go
Dependencies: go mod tidy
┌─────────────────────────────────────────────────────────────────────┐
│ 📦 SİSTEM GEREKSİNİMLERİ │
└─────────────────────────────────────────────────────────────────────┘
• Go 1.23+
• PostgreSQL 17+ erişimi (10.80.80.70:5432)
• Redis 7+ erişimi (10.80.80.70:6379)
• Network bağlantısı
┌─────────────────────────────────────────────────────────────────────┐
│ 🚨 SORUN GİDERME │
└─────────────────────────────────────────────────────────────────────┘
PostgreSQL bağlanamıyor:
────────────────────────
• .env dosyasında DB_URL kontrol edin
• Network erişimini test edin: telnet 10.80.80.70 5432
• Kullanıcı adı/şifre doğru mu kontrol edin
Redis bağlanamıyor:
──────────────────
• REDIS_URL doğru mu kontrol edin
• Network erişimi: telnet 10.80.80.70 6379
• Redis şifresini kontrol edin
CORS hatası:
────────────
• main.go'da AllowOrigins kontrol edin
• Frontend URL'i http://localhost:3000 mi?
Rate limit:
───────────
• api/middlewares/rate_limit_middleware.go'da
limit değerlerini artırın
┌─────────────────────────────────────────────────────────────────────┐
│ 📞 DAHA FAZLA BİLGİ │
└─────────────────────────────────────────────────────────────────────┘
Tüm detaylar için dokümantasyon dosyalarına bakın:
$ cat README.md
$ cat SETUP.md
$ cat DEPLOYMENT.md
╔═══════════════════════════════════════════════════════════════════════╗
║ 🎉 Başarılı çalışmalar! Sorularınız için dokümantasyona bakın. ║
╚═══════════════════════════════════════════════════════════════════════╝