Mobile AppFeatured
QRate
Student app that provides subjects, questions, and answers to help prepare for every test
About This Project
🎯 Project Overview
Addresses a common challenge in digital platforms: the fragmentation of the user journey across registration, content discovery, purchasing, and balance management. The application unifies this journey into one cohesive experience starting from account registration and confirmation, through smart search and filtering, right down to instant purchasing and managing acquired materials.
⚙️ Core Technologies & Features
- Robust & Maintainable Architecture: State management via BLoC/Cubit, dependency injection with GetIt + Injectable, organized navigation using GoRouter, and layer separation into Domains/Data/Presentation following a Clean Architecture approach.
- Integrated Authentication & Account Management: Login and new user registration. Account confirmation via OTP. Password recovery/reset. Profile editing, password changing, and account deletion.
- Smart Search & Quick Content Browsing: Dedicated search screen with Debounce to reduce unnecessary requests. Result display using Pagination for improved performance. Clear flow to access categories/departments and their related materials.
- Content Purchasing & Balance Management: Direct content purchase flow from within the app. Checking sufficient balance prior to transaction. Displaying success/failure states with clear messaging to the user. A dedicated screen for following up on purchased content.
- Balance Recharging via QR: Reading a card's code and executing the top-up process directly from the app.
- Favorite Management & Organized Learning Experience: Adding and removing items from favorites. Organized interface for displaying content and related quizzes. Support for resetting answers and navigating pages within the content.
- Content Protection & Security: Activating protection against screenshots/content leaks in sensitive screens using screen_protector. Implementing security best practices at the session and user data management level.
- Multi-language Support: The app supports Arabic and English via easy_localization. An easily expandable translation architecture for new markets.
- Practical API Integration: Server communication via Dio. Local storage support via SharedPreferences and Hive. Organized API routes for account operations, search, purchases, balances, and favorites.
🧩 Main Modules Inside the App
- Home: Highlights top content, balance, and certified locations.
- Search: Searching and browsing results in a grid format with progressive loading.
- Departments: Navigating through categories to find suitable content.
- Favorite: Managing favorite items.
- Profile: Account settings, security, and usage policies.

1 / 2