Case study

Featured

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

DartFlutterFirebase CoreFirebase AuthGo RouterFlutter BLoCEquatableReactive FormsDioHTTPInjectableGet ItEasy LocalizationIntlFlutter ScreenUtilAuto Size TextFlutter SVGLottieCached Network ImagePhoto ViewVideo PlayerCached Video Player PlusCamerawesomeImage PickerAudio WaveformsImage CropperFlutter Image CompressGoogle Sign-InSign in with AppleShared PreferencesPath ProviderURL LauncherShare PlusCountry PickerPermission HandlerOpen FilexPretty Dio LoggerDartzJSON AnnotationFreezedJSON SerializableBuild RunnerInjectable GeneratorFlutter Gen RunnerFlutter LintsCupertino IconsText ScrollVector GraphicsCountry PickerFakerCarousel SliderStylish Bottom BarFlutter AnimateShimmer AnimationSkeletonizerPull to RefreshConfettiEasy StepperLiquid Glass RendererInfinite Scroll PaginationFlutter HTMLCrypto
1 / 17

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 &amp; 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 &amp; 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 &amp; 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>