Skip to content

Repository files navigation

RoTaKip – Okuma Takip Sistemi

Okuma alışkanlığınızı takip etmek, kullanıcı istatistiklerini görmek ve grup motivasyonunu artırmak için geliştirilmiş modern bir uygulaması.

🌐 https://rotakip.onrender.com/

Live Demo Node.js Express REST API MongoDB JavaScript HTML5 CSS3


Temel Özellikler

Grup & Kullanıcı

  • Okuma grupları oluşturma ve katılım
  • Herkese açık / özel grup görünürlüğü, arama ve filtreleme
  • Admin / üye rol sistemi
  • Profil ve grup avatarları (Dropbox)

Okuma Takibi

  • Haftalık tabloda günlük okuma işaretleme (okudum / okumadım / boş)
  • Lig sistemi (Bronz → Gümüş → Altın)
  • Okuma serisi takibi
  • Haftalık ve aylık istatistikler, takvim görünümü
  • Otomatik okuma işaretleme entegrasyonları (WhatsApp)

Motivasyon

  • Günün sözü, ayet & hadis, dua paylaşımları
  • YouTube video entegrasyonu
  • Lig atlama ve diğer bildirimler (OneSignal)

Güvenlik & Yönetim

  • Şifreli giriş, rol tabanlı yetkilendirme
  • Giriş ve erişim logları
  • Zamanlanmış otomatik yedekleme
  • Admin paneli, katılma isteklerini yönetme
  • Canlı destek ve kullanıcı iletişimi (Tawk.to)
  • Site trafiği ve kullanım analizi (Google Analytics)

📸 Ekran Görüntüleri

Ana Sayfa Haftalık Tablo Günlük Görevler
Günün Hediyesi Profil Ekranı Kutlama Mesajları
Liderlik Panosu Aylık Takvim En Uzun Seri Grafiği
Okuma Grafiği Rahmet Penceresi Videolar
Makaleler Grup Ayarları Tercihler

API Mimarisi (REST API)

İstemci ve sunucu arasındaki veri iletişimi REST API standartlarına uygun uç noktalar (endpoints) üzerinden gerçekleştirilir:

  • Grup & Üye İşlemleri: GET /api/groups, GET /api/users/:groupId, POST /api/add-user/:groupId, DELETE /api/delete-group/:groupId ...
  • Okuma & Durum Güncelleme: POST /api/update-status/:groupId, GET /api/user-stats/:groupId/:userId, GET /api/reading-stats/:groupId ...
  • Yönetim & Loglar: POST /api/admin-login, GET /api/access-logs, GET /api/login-logs ...

Teknolojiler

Backend: Node.js, Express, MongoDB / Mongoose, Multer, Sharp, node-schedule, Moment.js

Frontend: Vanilla JavaScript, CSS3, Font Awesome

Entegrasyonlar: Whatsapp; Dropbox, OneSignal, YouTube Data API, Google Analytics, Tawk.to canlı destek


Kurulum

git clone [repo-url]
cd reading-tracker
npm install
node server.js

Uygulama varsayılan olarak http://localhost:3000 adresinde açılır (PORT ile değiştirilebilir). İsterseniz npm start da kullanılabilir.


Ortam Değişkenleri (.env)

Kök dizinde .env oluşturup değerleri doldurun:

# MongoDB
MONGO_URI=mongodb://localhost:27017/reading-tracker
DB_NAME=readingTracker
BACKUP_DB_NAME=backups

# YouTube
YOUTUBE_API_KEY=

# Dropbox — yükleme için erişim jetonu; yenileme için uygulama anahtarları
DROPBOX_APP_KEY=
DROPBOX_APP_SECRET=
DROPBOX_REFRESH_TOKEN=

# OneSignal (REST API anahtarı ONESIGNAL_API_KEY ile)
ONESIGNAL_APP_ID=
ONESIGNAL_API_KEY=

Dropbox ve OneSignal olmadan temel sayfalar çalışabilir; dosya yükleme ve push bildirimleri bu anahtarlara bağlıdır.


Geliştirici

Ali Kaçar

Instagram LinkedIn GitHub YouTube

alikacardev@gmail.com


Lisans

Bu proje MIT Lisansı ile lisanslanmıştır.

About

Modern ve kullanıcı dostu bir okuma takip platformu. Grup üyelerinin günlük okuma alışkanlıklarını takip etmek, istatistiklerini görüntülemek ve motivasyonlarını artırmak için geliştirilmiştir.

Topics

Resources

Security policy

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages