Overview
Description (Markdown):
About the Project
DersTakip ("Study Tracker") is a mobile app that lets students log their daily study time, browse a paginated and sortable history of past sessions, and view their statistics as charts. I built the entire project solo, end to end — from the backend API and database design to the mobile UI and server deployment.
Key Features
- JWT-based authentication (access + refresh tokens), BCrypt password hashing, stateless Spring Security
- Register/login, add study sessions, paginated and sortable study history
- Statistics charts (via
fl_chart) with touch tooltips, broken down by Daily / Weekly / Monthly / Yearly - Centralized global exception handling with a consistent API error format
- A logging service for user actions
- Maintenance mode: an
is-maintenanceendpoint the backend can flip to put the app into a maintenance screen - Network connectivity awareness and light/dark theme support
- Experimented with rate limiting via Bucket4j
Tech Stack
Backend: Java 17, Spring Boot 3.5, Spring Security, Spring Data JPA, PostgreSQL, JWT (jjwt), layered architecture (controller/service/repository with interface + impl separation)
Frontend: Flutter (Dart), GetX (state management, DI, routing), Dio, shared_preferences, fl_chart, connectivity_plus
DevOps / Deployment: Docker & Docker Compose (backend + PostgreSQL containers), Nginx reverse proxy on a VDS, end-to-end encryption via a Cloudflare Origin Certificate (Full Strict mode), environment-variable-based configuration
My Role
I handled every stage solo — requirements, database schema, backend API design, mobile UI, and production deployment to the server.






