TriviAPI, Türkçe trivia soruları içeren bir API'yi tanıtmak ve geliştiricilerin bu API'yi kolayca entegre edebilmesi için tasarlanmış açık kaynak bir dokümantasyon ve demo sitesidir. Bu proje, API'nin nasıl kullanılacağını göstermek, deneme yapmalarını sağlamak ve katkıda bulunmak isteyenlere açık bir platform sunmak için geliştirilmiştir.
Bu proje, Türkçe trivia soruları sağlayan bir RESTful API'nin tanıtımı için oluşturulmuştur. Kullanıcılar:
- API'nin nasıl çalıştığını öğrenebilir,
- Soruları görüntüleyip filtreleyebilir,
- Yeni sorular ekleyebilir,
- API'nin tüm özelliklerini test edebilir.
Proje aynı zamanda açık kaynak bir şekilde paylaşılarak topluluk katkılarına açık hale getirilmiştir.
- API'nin temel özelliklerini görsel ve anlaşılır bir şekilde tanıtan bir giriş sayfası.
- Hızlı başlangıç kod örnekleri ve API'nin kullanım senaryoları.
- Modern, animasyonlu ve kullanıcı dostu tasarım.
- Rastgele sorular görüntüleme ve cevaplama.
- Kategori, zorluk seviyesi ve tür bazlı filtreleme.
- İstatistikler paneli: Puan, başarı oranı ve toplam soru sayısı.
- Kullanıcıların yeni sorular ekleyebileceği bir form.
- Form validasyonu: Soru uzunluğu, kategori seçimi, doğru cevap kontrolü.
- Çoktan seçmeli veya doğru/yanlış formatında soru ekleme.
- API endpoint'lerinin detaylı açıklamaları.
- Örnek istek ve yanıt formatları.
- Hata kodları ve çözümleri.
- Soruları onaylama/reddetme işlemleri.
- Detaylı istatistikler ve kategori bazlı analiz.
- Admin giriş ve yetkilendirme sistemi.
- React.js: Modern kullanıcı arayüzü geliştirme.
- CSS Animasyonları: Akıcı ve kullanıcı dostu deneyim.
- React Router: Sayfa yönlendirme.
- React Toastify: Bildirim sistemi.
- Node.js & Express.js: API geliştirme.
- MongoDB: Veritabanı yönetimi.
- JWT: Kimlik doğrulama.
- RESTful Mimari: Esnek ve genişletilebilir endpoint'ler.
src/
├── components/
│ ├── Home.js # Ana sayfa
│ ├── BrowseQuizzes.js # Sorular bölümü
│ ├── SubmitQuiz.js # Soru ekleme bölümü
│ ├── Documentation.js # API dokümantasyonu
│ └── AdminDashboard.js # Admin paneli
├── styles/ # CSS dosyaları
├── App.js # Ana uygulama
└── index.js # Giriş noktası
git clone https://github.com/asoron/TriviAPIWeb.git
cd TriviAPIWeb
npm install
npm start
TriviAPI Dokümantasyon ve Demo Sitesi
Bu projeye katkıda bulunmak isterseniz, aşağıdaki adımları takip edebilirsiniz:
- Fork: Depoyu kendi hesabınıza fork edin.
- Branch Oluşturun: Yeni bir özellik veya düzeltme için branch oluşturun.
git checkout -b yeni-ozellik
- Değişiklik Yapın: Kodunuzu düzenleyin ve test edin.
- Commit ve Push: Değişikliklerinizi commit edip kendi fork'unuza gönderin.
git add . git commit -m "Yeni özellik eklendi" git push origin yeni-ozellik
- Pull Request: Değişikliklerinizi ana depoya göndermek için bir pull request oluşturun.
Eğer herhangi bir sorunuz veya öneriniz varsa, lütfen asoron ile iletişime geçin.
TriviAPI'yi kullanmayı tercih ettiğiniz için teşekkür ederiz! Daha fazla özellik ve geliştirme için bizi takip etmeye devam edin. 😊