MovieFlow, film tutkunları için geliştirilmiş bir sosyal film platformudur. Kullanıcılar filmleri keşfedebilir, değerlendirebilir, arkadaşlarıyla etkileşime geçebilir ve film deneyimlerini paylaşabilirler.
- 🎬 Film Keşfetme ve Arama
- ⭐ Film Değerlendirme ve Puanlama
- 👥 Sosyal Etkileşim ve Arkadaşlık Sistemi
- 📝 Film İncelemeleri
- 📋 İzleme Listesi ve İstek Listesi
- 📚 Kişisel Film Kütüphanesi
- 🔔 Bildirim Sistemi
- Node.js & Express: API geliştirme
- TypeScript: Tip güvenliği ve geliştirici deneyimi
- Prisma: ORM ve veritabanı yönetimi
- PostgreSQL: Veritabanı
- JWT: Kimlik doğrulama
- Zod: Veri doğrulama
- Multer: Dosya yükleme işlemleri
- Helmet: Güvenlik önlemleri
- Express Rate Limit: API rate limiting
Backend/
├── src/
│ ├── config/ # Konfigürasyon dosyaları
│ ├── constants/ # Sabit değerler
│ ├── controller/ # API controller'ları
│ ├── logs/ # Log dosyaları
│ ├── middlewares/ # Express middleware'leri
│ ├── routes/ # API rotaları
│ ├── schemas/ # Veri şemaları
│ ├── services/ # İş mantığı servisleri
│ ├── types/ # TypeScript tip tanımlamaları
│ ├── utils/ # Yardımcı fonksiyonlar
│ ├── validators/ # Veri doğrulama
│ └── server.ts # Ana sunucu dosyası
├── prisma/ # Prisma şema ve migrasyonları
├── public/ # Statik dosyalar
└── .env # Ortam değişkenleri
- Projeyi klonlayın:
git clone https://github.com/yourusername/MovieFlow.git
cd MovieFlow- Bağımlılıkları yükleyin:
cd Backend
pnpm install- Veritabanı ayarlarını yapın:
.envdosyasını oluşturun ve gerekli değişkenleri ayarlayın- Prisma migrasyonlarını çalıştırın:
pnpm prisma migrate dev- Geliştirme sunucusunu başlatın:
pnpm dev- JWT tabanlı kimlik doğrulama
- Rate limiting
- Helmet güvenlik başlıkları
- CORS yapılandırması
- Veri doğrulama (Zod)
- Güvenli şifre hashleme (bcrypt)
API dokümantasyonu için API.md dosyasını inceleyebilirsiniz.
- Fork'layın
- Feature branch oluşturun (
git checkout -b feature/amazing-feature) - Değişikliklerinizi commit edin (
git commit -m 'Add some 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ını inceleyebilirsiniz.