Case study
SWB Academy Platfrom
SWB Academy is the student-facing platform app for the SWB courses platform. also that including on: Mobile: Android & iOS Web: same app in the browser (this is the “student website”) Dashboard: and fully detailed admin dashboard to full control Backend: the backend behind is an full system that strong and fast and optimized to handle all those platforms
Technologies
About This Project
<h1><span style="color: rgb(59, 130, 246);"><strong>SWB Academy — Full Project Description</strong></span></h1><h2><span style="color: rgb(16, 185, 129);"><strong>Overview</strong></span></h2><p><strong>SWB Academy</strong> is the student-facing platform for the SWB courses ecosystem. It delivers a unified learning experience across mobile, web, and administration, powered by a single, robust backend that serves all platforms.</p><hr><h2><strong>1. Student-Facing Platform App</strong></h2><p>SWB Academy is the main application used by learners to discover, enroll in, and complete courses. The app supports:</p><ul><li><p><strong>Authenticated users:</strong> Full access to enrolled courses, progress, certificates, profile, and saved items.</p></li><li><p><strong>Guest mode:</strong> Browsing, limited learning (e.g. guest quizzes), with optional progress sync when the user signs up later.</p></li><li><p><strong>Learning paths:</strong> Structured paths with multiple courses; enrollment and progress are tracked per path.</p></li><li><p><strong>Course experience:</strong> Course details, enrollment, course home (sections, lessons, reviews), lesson player (video, notes, completion), and quizzes (including guest quiz).</p></li><li><p><strong>Discovery:</strong> Browse/explore, filters, search, categories and paths, all courses list with pagination.</p></li><li><p><strong>My Learning:</strong> In-progress and completed courses, saved/favorites.</p></li><li><p><strong>Profile & settings:</strong> Account, notifications, theme, haptics, localization (e.g. EN/AR).</p></li><li><p><strong>Downloads:</strong> Offline access where supported.</p></li></ul><p>The student app is built as a <strong>single Flutter codebase</strong>, ensuring the same features and UX on every platform it targets.</p><hr><h2><strong>2. Mobile (Android & iOS)</strong></h2><p>The native mobile apps provide the primary experience for on-the-go learning:</p><ul><li><p><strong>Android</strong> and <strong>iOS</strong> targets from the same <code>lib/</code> codebase.</p></li><li><p>Native performance, platform-appropriate UI patterns, and support for device capabilities (camera, storage, push, etc.).</p></li><li><p>Optimized for touch, small screens, and variable connectivity (including offline where implemented).</p></li><li><p>Distribution via Google Play and the App Store (or enterprise channels as needed).</p></li></ul><hr><h2><strong>3. Web (Student Website)</strong></h2><p>The <strong>student website</strong> is the same Flutter application built for the <strong>web</strong> target:</p><ul><li><p>One codebase: the same features, business logic, and design system as mobile.</p></li><li><p>Runs in the browser so students can learn from any device without installing an app.</p></li><li><p>Responsive layout for desktop and tablet; can share routing and layout rules with the rest of the app (e.g. skip splash/onboarding on web).</p></li><li><p>Served over HTTPS and integrated with the same backend and auth (e.g. Firebase, token-based API).</p></li></ul><p>So “student website” and “student app” refer to the same product: this Flutter app, deployed as web or as mobile apps.</p><hr><h2><strong>4. Admin Dashboard</strong></h2><p>A <strong>fully detailed admin dashboard</strong> gives administrators complete control over the platform. It is a separate application (not in this repository) that consumes the same backend. Typical capabilities include:</p><ul><li><p><strong>Full control</strong> over courses, lessons, quizzes, learning paths, and categories.</p></li><li><p><strong>User management:</strong> View, search, and manage students and instructors; roles and permissions.</p></li><li><p><strong>Content management:</strong> Create, edit, publish, and archive courses and paths; manage media and attachments.</p></li><li><p><strong>Analytics and reporting:</strong> Enrollments, completion rates, revenue, and other KPIs.</p></li><li><p><strong>Platform configuration:</strong> Settings, feature flags, notifications, and integrations (e.g. Firebase, payment).</p></li><li><p><strong>Support and moderation:</strong> Reviews, reports, and support-related actions.</p></li></ul><p>The dashboard is part of the same ecosystem: same backend, same data, different UI and audience (admins vs students).</p><hr><h2><strong>5. Backend</strong></h2><p>The <strong>backend</strong> is a full system that is <strong>strong, fast, and optimized</strong> to serve all platforms:</p><ul><li><p><strong>Single API</strong> used by:</p><ul><li><p>Student mobile apps (Android & iOS)</p></li><li><p>Student website (Flutter web)</p></li><li><p>Admin dashboard</p></li></ul></li><li><p><strong>Performance and scalability:</strong> Built to handle concurrent users, peak load, and growth (e.g. optimized queries, caching, CDN for media where applicable).</p></li><li><p><strong>Security:</strong> Authentication (e.g. Firebase + token exchange), authorization, validation, and secure handling of sensitive data.</p></li><li><p><strong>Domain coverage:</strong> Auth, users, courses, lessons, quizzes, learning paths, progress, reviews, favorites, notifications, guest progress sync, and any other shared business logic.</p></li><li><p><strong>Documentation:</strong> Backend API and integration patterns are described in project docs (e.g. <code>FLUTTER_API.md</code>, <code>GUEST_PROGRESS_SYNC_BACKEND_AR.md</code>, <code>firebase_implemnt_laravel.md</code>). The backend itself lives in a separate repository.</p></li></ul>