</>Levent.
Projelere Dön
Backend & API2025

DersTakip – Çalışma Süresi Takip Uygulaması

Öğrencilerin günlük ders çalışma sürelerini kaydedip grafiklerle takip edebildiği; backend, frontend, veritabanı ve sunucuya dağıtımıyla uçtan uca tek başıma geliştirdiğim, bir VDS üzerinde Nginx + Cloudflare ile canlıya aldığım full-stack proje.

DersTakip – Çalışma Süresi Takip Uygulaması

Proje Hakkında

DersTakip, öğrencilerin günlük ders çalışma sürelerini kaydetmesini, geçmiş kayıtlarını filtreleyip sayfalayarak incelemesini ve istatistiklerini grafiklerle görüntülemesini sağlayan bir mobil uygulamadır. Backend API'sinden mobil arayüzüne, veritabanı tasarımından sunucuya deploy edilmesine kadar tüm süreci tek başıma uçtan uca geliştirdim.

Öne Çıkan Özellikler

  • JWT tabanlı kimlik doğrulama (access + refresh token), BCrypt ile şifreleme, stateless Spring Security
  • Kayıt/giriş, çalışma süresi ekleme, sayfalanmış ve sıralanabilir çalışma geçmişi listesi
  • fl_chart ile Günlük / Haftalık / Aylık / Yıllık kırılımında dokunmatik tooltip'li istatistik grafikleri
  • Global exception handling ve merkezi API hata formatı
  • Kullanıcı işlemleri için loglama servisi
  • Bakım modu: backend'den tetiklenen is-maintenance uç noktasıyla uygulamanın bakım ekranına düşmesi
  • Ağ bağlantısı takibi (connectivity servisi) ve açık/koyu tema desteği
  • Bucket4j ile rate limiting uygulandı

Teknik Mimari

Backend: Java 17, Spring Boot 3.5, Spring Security, Spring Data JPA, PostgreSQL, JWT (jjwt), katmanlı mimari (interface + impl ayrımıyla controller/service/repository)

Frontend: Flutter (Dart), GetX (state management, dependency injection, routing), Dio, shared_preferences, fl_chart, connectivity_plus

DevOps / Yayına Alma: Docker & Docker Compose (backend + PostgreSQL konteynerleri), bir VDS üzerinde Nginx reverse proxy, SSL için Cloudflare Origin Certificate (Full Strict mod) ile uçtan uca şifreleme, ortam değişkenleriyle yapılandırma

Benim Rolüm

Gereksinim analizinden veritabanı şemasına, backend API tasarımından mobil arayüze ve sunucuya canlıya alınmasına kadar projenin tüm aşamaları tarafımdan tek başıma geliştirildi ve deploy edildi.

DersTakip – Çalışma Süresi Takip Uygulaması — 1DersTakip – Çalışma Süresi Takip Uygulaması — 2DersTakip – Çalışma Süresi Takip Uygulaması — 3