Home Projects Madarek LMS
Madarek LMS
مدارك  — Madarek LMS · Oman
📚 FULL-STACK LMS + MOBILE APP
Education · LMS · Oman · Laravel + Filament · Flutter · Payments

Madarek — مدارك Learning Management System

A comprehensive full-stack Learning Management System for Alemtayaz in Oman — connecting students with instructors through course uploads, exams, and integrated payments. Features a Filament-powered admin dashboard, teacher portal for course and student management, student web interface, and a Flutter mobile app on Google Play for on-the-go learning access.

🇴🇲 Oman — Alemtayaz 📚 Full LMS Platform 📱 Flutter Mobile App 💳 Integrated Payments 🎓 Courses & Exams 🖥️ Filament Admin
Madarek App Screen 2
Madarek App Screen 1
Madarek App Screen 3
Madarek LMS MADAREK LMS · مدارك · ALEMTAYAZ · OMAN 🇴🇲 📱 Available on Google Play
6 Platform Components
📱 Flutter Mobile App
💳 Integrated Payments
🎓 Courses & Exams
🇴🇲 Oman Market
🖥️
Admin DashboardFilament-powered full control
👨‍🏫
Teacher PortalCourses, students & content
🎓
Student InterfaceEnroll, learn & take exams
💳
Payment SystemCourse fees & subscriptions
📱
Flutter Mobile AppGoogle Play · Courses & exams

Project Overview

Madarek (مدارك) is a full-stack Learning Management System built for Alemtayaz in the Sultanate of Oman. The platform connects students with instructors in a structured digital learning environment — enabling course creation and management, student enrollment, online examinations, and integrated payment processing for course access.

The backend is built on Laravel and PHP, with Filament powering the admin panel — providing a clean, modern interface for the platform administrator to manage all users (students and teachers), courses, categories, payment records, and system configuration from a single dashboard.

Beyond the web platform, Madarek ships with a Flutter mobile app on Google Play — allowing students to access enrolled courses, complete exams, track progress, and continue learning from anywhere on their Android device. The app connects to the same Laravel REST API backend, ensuring data consistency between web and mobile experiences.

App Screenshots

System Components

🖥️
Admin Dashboard — Filament
lms.alemtayaz.shop/public/admin
User Management Course Control Payment Records Analytics RBAC

The platform admin has full control through a Filament-powered dashboard — managing all teacher and student accounts, approving course submissions, overseeing payment transactions, configuring platform settings, managing course categories, and generating reports on usage, revenue, and enrollment trends.

👨‍🏫
Teacher / Instructor Portal
Course creation · Content upload · Student management
Course Builder Video Upload Exam Creator Student List

Instructors build and publish courses — upload video lessons, PDFs, and materials, organize content into sections and modules, create exams with question banks and grading rules, set course pricing, and track enrolled student progress and performance. The teacher portal gives instructors complete ownership of their course content and student experience.

🎓
Student Learning Interface
Browse · Enroll · Learn · Take exams · Track progress
Course Catalog Video Player Online Exams Progress Track

Students browse the course catalog, view detailed course descriptions and instructor profiles, enroll after payment, and access their learning dashboard with all enrolled courses. Within each course, students watch video lessons, download materials, complete assignments, and sit online exams with automatic grading. Progress tracking shows completion percentage, exam scores, and certificate eligibility.

💳
Payment & Enrollment System
Course monetization · Secure checkout · Enrollment unlock
Payment Gateway Secure Checkout Auto Enrollment Receipts

Courses can be priced by instructors and require payment for student enrollment. The payment system handles secure checkout, processes the transaction through an integrated payment gateway, and automatically unlocks full course access upon successful payment. All payment records are logged in the admin dashboard with full transaction history, student-to-course mapping, and financial reporting.

📖
Course Upload & Content Management System
Videos · PDFs · Sections · Modules · Exam questions · Course pricing
Multi-Format Upload Section Builder Question Bank Pricing Control Thumbnail Upload

The course upload system is the core content engine of Madarek LMS. Instructors create a course with title, description, category, thumbnail, and price — then build it out section by section, uploading video lessons, PDFs, and supplementary materials for each section. An integrated exam builder allows instructors to attach graded assessments to any section, with support for multiple-choice, true/false, and short-answer question formats. The system also supports free preview lessons, course prerequisites, and certificate generation upon completion.

📱
Flutter Mobile App — Madarek LMS on Google Play
package: com.lms.madarekapp · Android · Available now on Google Play
Flutter REST API Firebase Push Course Access Exams Progress Sync

The Flutter mobile app extends the full LMS experience to Android — students browse the course catalog, enroll and pay for courses, access all enrolled course content (video lessons, materials), take online exams, track learning progress, and receive push notifications for new content, exam reminders, and announcements. The app communicates with the Laravel backend through a secure REST API, ensuring real-time data sync across web and mobile. Firebase push notifications keep students engaged throughout their learning journey.

Key Features

Filament Admin Panel — Modern Laravel-Native Control The Madarek admin panel is built with Filament — the leading Laravel admin framework. Filament provides a clean, fast, beautifully designed dashboard: user resource management, course approval workflows, payment record tables with filters and exports, analytics widgets, and system settings — all in a responsive, dark-mode-ready interface without building custom admin views from scratch.
Cross-Platform: Web + Mobile (Flutter) Madarek delivers a consistent learning experience across web browsers and the Flutter Android app. Students can start a course on web and continue from where they left off on mobile — with progress, enrollment status, and exam results synced in real time through the shared Laravel REST API backend. This cross-platform continuity is key for learners who switch between desktop study and mobile learning on the go.
Role-Based Access Control (RBAC) — Admin / Teacher / Student The platform operates with three distinct user roles — Admin, Teacher, and Student — each with their own permissions, dashboard views, and accessible features. RBAC is enforced at both the API level (protecting REST endpoints) and the web interface (restricting navigation and actions based on role). This ensures clean data separation: teachers only see their own courses and students, students only access enrolled content, and admins have full system visibility.
Online Exam Engine — Question Banks & Auto Grading The integrated exam engine allows teachers to build assessments directly within course sections. Teachers create question banks with multiple-choice, true/false, and short-answer questions, set time limits, passing scores, and attempt limits. Students take exams within the platform or via the mobile app and receive instant automated grading with score breakdowns. Exam results are stored in student records and accessible to both students and teachers through their respective portals.
Course Monetization — Integrated Payment Gateway Madarek includes a full course monetization layer — instructors set prices, and students pay to enroll. The integrated payment gateway handles secure transaction processing for the Omani market, generates payment receipts, and automatically enrolls the student upon successful payment. All revenue is tracked in the admin financial dashboard with per-course, per-instructor, and platform-wide revenue breakdowns.
Firebase Push Notifications — Learning Reminders & Announcements The Flutter app integrates Firebase Cloud Messaging (FCM) to deliver push notifications — new course content alerts, exam reminders before deadlines, instructor announcements, course completion alerts, and platform news. Push notifications are managed from the admin dashboard and can be targeted to specific student groups, course enrollees, or the full user base — keeping learners engaged throughout their educational journey on Madarek.

Outcomes

6 Platform Components
📱 Live on Google Play
💳 Monetized LMS
Live In Production · Oman

Technical Challenges

Unified REST API for Both Web and Flutter Mobile — Single Source of Truth

Madarek's architecture requires a single Laravel REST API to serve both the web interface and the Flutter mobile app simultaneously. All business logic — enrollment validation, payment processing, progress tracking, exam grading — must be implemented at the API level rather than in web-specific controllers. API responses must handle the needs of both clients while keeping authentication secure (Sanctum/JWT) and responses performant under concurrent load from both web and mobile users.

Video Content Delivery — Efficient Streaming for Course Lessons

An LMS built on video lessons requires efficient video upload, storage, and delivery. Instructors upload video files of varying sizes through the teacher portal, which must be processed, stored securely, and delivered with acceptable streaming performance on both desktop browsers and the Flutter mobile app. The solution involves CDN-backed storage, chunked upload support for large video files, and access-controlled delivery to prevent unenrolled students from accessing paid course content.

Localizing an LMS for the Omani Market — Arabic UI & Regional Payment Support

Deploying an LMS in Oman requires full localization for the Arabic-speaking market — RTL interface support across both web and Flutter, Arabic content management (course titles, descriptions, exam questions in Arabic), and integration with payment gateways supporting the Omani Rial (OMR) and common GCC payment methods. Both the Filament admin dashboard and the teacher portal need to handle bidirectional content (instructors writing in Arabic, students reading in Arabic) without layout or data integrity issues.