HafizaAkademi (formerly DopingHafiza) is a backend-focused full stack education platform developed for YKS (Yükseköğretim Kurumları Sınavı) students in Turkey. Live site: hafizaakademi.com.
Students use a React web application and a React Native mobile app against the same Spring Boot APIs, so course access, progress, and roles stay consistent across devices.
The project is designed to manage academic content, users, and learning workflows in a scalable and maintainable architecture. It provides a complete learning management system (LMS) for students preparing for university entrance exams.
The main goal of this project was to build a real-world education platform with strong backend foundations rather than a simple CRUD application, demonstrating enterprise-level backend development skills.
Key Features
- React Native mobile app alongside the React web client (shared APIs)
- User authentication and role-based access control (students, teachers, admins)
- Structured academic content management (courses, topics, lessons, materials)
- Course enrollment and progress tracking
- Student dashboard with learning analytics
- Content organization by subjects and topics
- Backend-driven business logic and data management
- RESTful API architecture for web and mobile clients
- Clean separation of frontend and backend responsibilities
- User profile management
- Learning progress tracking
- Material download and access control
- Scalable architecture for handling multiple users
What I Worked On
- Designed the complete backend architecture and database schema
- Implemented RESTful APIs and core business logic
- Created user authentication and authorization system
- Built course and content management system
- Developed student enrollment and progress tracking features
- Implemented role-based access control (RBAC)
- Designed database relationships and entity models
- Created API endpoints for frontend consumption
- Integrated React web and React Native mobile clients with backend services
- Implemented data validation and error handling
- Built scalable backend services
- Focused on code quality, scalability, clean code, and maintainability
- Applied software engineering best practices
- Worked with real application-level requirements instead of tutorials
- Implemented database migrations and schema versioning
Technologies Used
Backend
- Java
- Spring Boot
- Spring Data JPA
- Spring Security
- Spring Web (REST APIs)
- PostgreSQL (relational database)
Frontend & mobile
- React (web SPA)
- React Native (iOS / Android)
- JavaScript (ES6+)
- HTML5 / CSS3
- Modern React patterns (Hooks, Context)
Database & ORM
- PostgreSQL
- JPA / Hibernate
- Database migrations
- Entity relationships
Security
- Spring Security
- JWT or Session-based authentication
- Role-based access control
- Password encryption
API Architecture
- RESTful API design
- JSON data format
- HTTP methods (GET, POST, PUT, DELETE)
- API versioning
Tools
- Git (version control)
- Docker (local development and containerization)
- Maven (dependency management)
- IDE (IntelliJ IDEA / Eclipse)
- Postman (API testing)