AutoSRT, video ve ses dosyaları için otomatik altyazı oluşturma servisidir. Bu repo, projenin backend kısmını içerir.
- Go (1.21+): Ana programlama dili
- Gin: HTTP web framework
- MongoDB: Ana veritabanı
- DynamoDB: Session yönetimi için
- AWS S3: Dosya depolama
- AWS Transcribe: Konuşma tanıma servisi
- Paddle: Ödeme sistemi entegrasyonu
- JWT & Session: Kimlik doğrulama
- Resend: E-posta servisi
Proje Clean Architecture prensiplerine göre tasarlanmıştır:
├── api
│ ├── http
│ │ └── delivery # HTTP handlers
│ ├── middleware # Middleware fonksiyonları
│ └── route # Route tanımlamaları
├── bootstrap # Uygulama başlangıç konfigürasyonları
├── domain # İş mantığı arayüzleri ve modeller
├── repository # Veritabanı işlemleri
├── usecase # İş mantığı implementasyonları
└── utils # Yardımcı fonksiyonlar
- 🔐 JWT ve Session tabanlı kimlik doğrulama
- 📝 Otomatik altyazı oluşturma
- 💳 Paddle ile abonelik sistemi
- 📧 E-posta bildirimleri
- 🌐 Çoklu dil desteği
- 🎥 Video ve ses dosyası işleme
- ⚡ Yüksek performanslı işlem kuyruğu
-
Gereksinimleri yükleyin:
go mod download
-
.env
dosyasını oluşturun:MONGODB_URI=your_mongodb_uri AWS_ACCESS_KEY=your_aws_access_key AWS_SECRET_KEY=your_aws_secret_key JWT_SECRET=your_jwt_secret PADDLE_API_KEY=your_paddle_api_key RESEND_API_KEY=your_resend_api_key
-
Uygulamayı başlatın:
go run main.go
POST /api/auth/register
: Kullanıcı kaydıPOST /api/auth/login
: GirişPOST /api/auth/logout
: ÇıkışGET /api/auth/me
: Kullanıcı bilgileri
POST /api/srt/create
: Altyazı oluşturmaGET /api/srt/list
: Altyazı listesiGET /api/srt/{id}
: Altyazı detaylarıDELETE /api/srt/{id}
: Altyazı silme
POST /api/paddle/checkout
: Ödeme başlatmaPOST /api/paddle/webhook
: Paddle webhook handler
- Bu repo'yu fork edin
- Feature branch'i oluşturun (
git checkout -b feature/amazing-feature
) - Değişikliklerinizi commit edin (
git commit -m 'feat: add amazing feature'
) - Branch'inizi push edin (
git push origin feature/amazing-feature
) - Pull Request oluşturun
Bu proje MIT lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakın.
Alper Çelik - GitHub