Nacizane.co, insanların birbirlerine anonim olarak dürüst ve yapıcı geri bildirimde bulunmalarını sağlayan, geri bildirimleri yapay zeka moderasyonundan geçiren full-stack bir anonim geri bildirim web uygulamasıdır.
- ReactJS
- Next.js 14
- TypeScript
- Prisma
- NextAuth
- Gemini API
Projeyi yerel ortamda çalıştırmak için aşağıdaki adımları takip edebilirsiniz:
- Node.js v20 veya üzeri
- NPM 10 veya üzeri
- PostgreSQL 16 veritabanı
- Projeyi klonlayın:
git clone https://github.com/alicangunduz/nacizane.git
cd nacizane
- Ortam değişkenlerini ayarlayın:
.env.example
dosyasını kopyalayın ve .env
adında bir dosya oluşturun. Daha sonra veritabanı ve GitHub OAuth ayarlarınızı bu dosyada yapılandırın:
cp .env.example .env
- Bağımlılıkları yükleyin:
npm install
- Prisma ile veritabanı yapılandırmasını oluşturun:
npx prisma generate
- Prisma ile veritabanı yapılandırmasını oluşturun:
npx prisma db push
- Geliştirme ortamında projeyi başlatın:
npm run dev
Proje, NextAuth kütüphanesini kullanarak GitHub OAuth ile kullanıcı kimlik doğrulama işlemi yapmaktadır. Gerekli GitHub OAuth bilgilerini .env
dosyanıza ekleyerek projeyi çalıştırabilirsiniz.
Aşağıdaki ortam değişkenleri .env
dosyasına eklenmelidir:
# Veritabanı ayarları
DATABASE_URL=postgresql://user:password@localhost:5432/nacizane?schema=public
# GitHub OAuth ayarları
GITHUB_ID=your_github_client_id
GITHUB_SECRET=your_github_client_secret
# Callback URL
CALLBACK_URL=http://localhost:3000
# NextAuth ayarları
NEXTAUTH_SECRET=your_secret
NEXTAUTH_URL=http://localhost:3000
# API anahtarları
GEMINI_API_KEY=your_gemini_api_key
Projeyi herhangi bir platformda dağıtabilirsiniz. Önerilen dağıtım platformları:
Katkıda bulunmak isterseniz, lütfen aşağıdaki adımları takip edin:
- Bu projeyi fork'layın.
- Kendi branch'inizde bir özellik ekleyin:
git checkout -b yeni-ozellik
- Değişikliklerinizi commit'leyin:
git commit -m 'Yeni özellik ekle'
- Branch'inizi push'layın:
git push origin yeni-ozellik
- Bir Pull Request açın.
Bu proje, Creative Commons Non-Commercial License altında lisanslanmıştır. Projeyi ticari amaçla kullanmanız yasaktır. Ayrıntılı bilgi için LICENSE
dosyasını inceleyebilirsiniz.