{"id":51551892,"url":"https://github.com/mohamed-dev-404/academiax-admin-dashboard","last_synced_at":"2026-07-10T00:31:10.425Z","repository":{"id":338927980,"uuid":"1145136171","full_name":"mohamed-dev-404/academiax-admin-dashboard","owner":"mohamed-dev-404","description":"Flutter Web Dashboard engineered with MVVM architecture and Clean UI principles. Features a robust user management system, high-fidelity asset rendering, and a fully automated CI/CD pipeline for professional-standard deployment and stability.","archived":false,"fork":false,"pushed_at":"2026-06-26T00:51:25.000Z","size":32140,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-26T02:20:54.276Z","etag":null,"topics":["api-integration","dart","dashboard","flutter","go-router","mvvm-architecture","optimistic-ui","responsive","web"],"latest_commit_sha":null,"homepage":"https://mohamed-dev-404.github.io/academiax-admin-dashboard/","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mohamed-dev-404.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-29T13:23:09.000Z","updated_at":"2026-06-26T00:49:17.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mohamed-dev-404/academiax-admin-dashboard","commit_stats":null,"previous_names":["mohamed-dev-404/sams-dashboard","mohamed-dev-404/academiax-admin-dashboard"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/mohamed-dev-404/academiax-admin-dashboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohamed-dev-404%2Facademiax-admin-dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohamed-dev-404%2Facademiax-admin-dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohamed-dev-404%2Facademiax-admin-dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohamed-dev-404%2Facademiax-admin-dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mohamed-dev-404","download_url":"https://codeload.github.com/mohamed-dev-404/academiax-admin-dashboard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohamed-dev-404%2Facademiax-admin-dashboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35316840,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-09T02:00:07.329Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-integration","dart","dashboard","flutter","go-router","mvvm-architecture","optimistic-ui","responsive","web"],"created_at":"2026-07-10T00:31:10.266Z","updated_at":"2026-07-10T00:31:10.409Z","avatar_url":"https://github.com/mohamed-dev-404.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"assets\\branding\\luncher_icon.png\" alt=\"AcademiaX Admin Dashboard\" width=\"30%\"/\u003e\n\n\u003cbr/\u003e\n\n# Academiax Dashboard\n\n### Smart Academic Management System — Admin Panel\n\n*A secure, enterprise-grade Flutter Web dashboard for university user management.*\n\n\u003cbr/\u003e\n\n[![Flutter](https://img.shields.io/badge/Flutter-3.10.1+-02569B?style=for-the-badge\u0026logo=flutter\u0026logoColor=white)](https://flutter.dev)\n[![Dart](https://img.shields.io/badge/Dart-3.x-0175C2?style=for-the-badge\u0026logo=dart\u0026logoColor=white)](https://dart.dev)\n[![BLoC](https://img.shields.io/badge/State_Management-BLoC-blue?style=for-the-badge)](https://bloclibrary.dev/)\n[![MVVM](https://img.shields.io/badge/Pattern-MVVM-ff69b4?style=for-the-badge)](https://docs.flutter.dev/app-architecture/guide)\n[![Platform](https://img.shields.io/badge/Platform-Web%20%7C%20Tablet%20%7C%20Desktop-lightgrey?style=for-the-badge\u0026logo=flutter)](https://flutter.dev/multi-platform)\n[![License](https://img.shields.io/badge/License-All%20Rights%20Reserved-red?style=for-the-badge)](#license)\n\u003ca href=\"https://docs.flutter.dev/app-architecture/guide\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Pattern-Repository-4CAF50?style=for-the-badge\" alt=\"Repository Pattern\"/\u003e\n\u003c/a\u003e\n\u003ca href=\"https://pub.dev/packages/go_router\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Routing-go__router-02569B?style=for-the-badge\u0026logo=flutter\u0026logoColor=white\" alt=\"go_router\"/\u003e\n\u003c/a\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/stars/mohamed-dev-404/academiax-admin-dashboard?style=for-the-badge\u0026logo=github\u0026color=DAA520\" alt=\"Stars\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/forks/mohamed-dev-404/academiax-admin-dashboard?style=for-the-badge\u0026logo=github\u0026color=E67E22\" alt=\"Forks\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/issues/mohamed-dev-404/academiax-admin-dashboard?style=for-the-badge\u0026logo=github\u0026color=E74C3C\" alt=\"Issues\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/issues-closed/mohamed-dev-404/academiax-admin-dashboard?style=for-the-badge\u0026logo=github\u0026color=6F42C1\" alt=\"Closed Issues\" /\u003e\n  \u003cimg src=\"https://img.shields.io/github/issues-pr-closed/mohamed-dev-404/academiax-admin-dashboard?style=for-the-badge\u0026logo=github\u0026color=008080\" alt=\"Closed PRs\" /\u003e\n\u003c/p\u003e\n\n\u003cbr/\u003e\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/mohamed-dev-404/academiax-admin-dashboard\"\u003e\n    \u003cimg\n      src=\"https://dynamic-repo-badges.vercel.app/svg/count/2/Repository%20Views/academiax-admin-dashboard\"\n      alt=\"Repository Views\"\n    /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\n\n\n\u003cdiv align=\"center\"\u003e\n  \u003ctable\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" width=\"50%\"\u003e\n        \u003cb\u003e🔐 Secure Gateway \u0026 Authentication\u003c/b\u003e\u003cbr\u003e\n        \u003ci\u003eEnterprise-grade login with dual JWT token management and role-based access control (RBAC)\u003c/i\u003e\u003cbr\u003e\n        \u003cimg src=\"assets/branding/login_gateway.png\" width=\"100%\" style=\"height:320px; object-fit:contain;\" /\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" width=\"50%\"\u003e\n        \u003cb\u003e🛡 Identity Recovery Ecosystem\u003c/b\u003e\u003cbr\u003e\n        \u003ci\u003eMulti-step OTP verification \u0026 secure password reset workflow with client-side validation\u003c/i\u003e\u003cbr\u003e\n        \u003cimg src=\"assets/branding/identity_recovery.png\" width=\"100%\" style=\"height:320px; object-fit:contain;\" /\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" width=\"50%\"\u003e\n        \u003cb\u003e📊 Centralized Operations Intelligence\u003c/b\u003e\u003cbr\u003e\n        \u003ci\u003eHigh-density data grid with real-time Optimistic UI updates, global search, advanced filtering, and inline role management\u003c/i\u003e\u003cbr\u003e\n        \u003cimg src=\"assets/branding/admin_dashboard.png\" width=\"100%\" style=\"height:320px; object-fit:contain;\" /\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\" width=\"50%\"\u003e\n        \u003cb\u003e👤 Administrative Onboarding Engine\u003c/b\u003e\u003cbr\u003e\n        \u003ci\u003eEfficient user provisioning with multi-role support, activation/deactivation, strict validation, and immediate UI feedback\u003c/i\u003e\u003cbr\u003e\n        \u003cimg src=\"assets/branding/user_onboarding.png\" width=\"100%\" style=\"height:320px; object-fit:contain;\" /\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/table\u003e\n\u003c/div\u003e\n\n---\n\n## 🎥 Demo Video\n\nShowcasing **Optimistic UI interactions**, authentication, user management, role transitions, and responsive interface.\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"assets\\branding\\demo.gif\" width=100%  alt=\"Create Course \u0026 Join — Web\"/\u003e\n \u003c/div\u003e\n\n\n\n\n\n\n\u003cbr/\u003e\n\n---\n\n## 📋 Table of Contents\n\n\u003cbr\u003e\n\n**🔷 Overview**\n\n| | Section | |\n|:--:|:--|:--|\n| 📌 | [About the Project](#-about-the-project) | `Overview` |\n| 🚀 | [Key Capabilities](#-key-capabilities) | `Highlights` |\n\n\u003cbr\u003e\n\n**⚙️ Technical**\n\n| | Section | |\n|:--:|:--|:--|\n| 🏗 | [Architecture](#-architecture) | `MVVM · Repository` |\n| 📂 | [Project Structure](#-project-structure) | `lib/ tree` |\n| 🔐 | [Authentication \u0026 Security](#-authentication--security) | `Dual JWT · Token Refresh` |\n| 🌐 | [Network Layer](#-network-layer) | `Dio · Interceptors` |\n| 🧠 | [State Management](#-state-management) | `Cubit · BLoC` |\n| 🧭 | [Routing](#-routing) | `go_router` |\n| 🛠 | [Tech Stack](#-tech-stack) | `Packages \u0026 Plugins` |\n\n\u003cbr\u003e\n\n**📦 Resources**\n\n| | Section | |\n|:--:|:--|:--|\n| 📸 | [System Showcase](#-system-showcase) | `Screenshots` |\n| 📊 | [Dashboard Capabilities](#-dashboard-capabilities) | `User Management · Data Tables` |\n| 📱 | [Responsive Design](#-responsive-design) | `Web · Tablet · Desktop` |\n| 🧪 | [Scalability \u0026 Extensibility](#-scalability--extensibility) | `Future Expansion` |\n| 🔗 | [Related Repositories](#-related-repositories) | `Flutter · NestJS · Python` |\n| 👥 | [Contributors](#-contributors) | `2 contributors` |\n| 🏆 | [Conclusion](#-conclusion) | `Summary` |\n\n---\n\n## 📌 About the Project\n\nThe **Academiax Administrative Dashboard** is a secure, role-based web platform engineered to centralize university user management for **System Administrators**. Designed for enterprise-scale usage, the system emphasizes **security, performance, and extensibility**, while delivering a clean, intuitive, and responsive administrative experience.\n\nA key UX enhancement is the integration of **Optimistic UI**, enabling instant feedback for user actions such as role changes, activation/deactivation, and data updates — even before the server confirms the operation. This ensures a **smooth, seamless experience** for administrators, particularly when working with large datasets.\n\n---\n\n## 🚀 Key Capabilities\n\n* 👥 **User Lifecycle Management:** Create, activate, deactivate, and maintain accounts for students, instructors, and staff.\n* 🔐 **Secure Authentication \u0026 Session Handling:** Enforce enterprise-grade JWT-based login with dual-token logic and session persistence.\n* 🔄 **Dynamic Role Assignment \u0026 Optimistic UI:** Seamlessly assign, modify, and manage user roles with immediate interface feedback, improving workflow efficiency.\n* 🔍 **Advanced Data Control:** Efficiently search, filter, and paginate large datasets with real-time updates.\n* ⚙️ **Enterprise-Scale Optimization:** Designed for scalability, maintainability, and high-performance operations across Web, Tablet, and Desktop platforms.\n\n\u003e This platform serves as a centralized control hub, enabling administrators to manage users efficiently while maintaining the highest security, usability, and responsiveness standards.\n\n---\n\n## 🏗 Architecture\n\nThe application strictly follows **MVVM** principles combined with the **Repository Pattern** for full data-source abstraction and testability.\n\n```\n💻 Presentation Layer → Flutter UI + Cubits (ViewModels)\n⚙️ Core Layer         → Network, Caching, Error Handling, Utilities\n```\n\n### Architectural Highlights\n\n* Feature-based modular structure\n* Repository pattern with abstraction\n* Decoupled business logic\n* Scalable and test-friendly design\n* Centralized error handling\n\n---\n\n## 📂 Project Structure\n\n```\nlib/\n├── core/\n│   ├── cache/\n│   ├── errors/\n│   ├── network/\n│   │   └── interceptors/\n│   ├── utils/\n│   └── widgets/\n└── features/\n    ├── auth/\n    └── home/\n```\n\n### Core Layer\n\nContains shared infrastructure:\n\n* 🌐 Network abstraction (Dio + interceptors)\n* 🔒 Secure \u0026 local storage\n* 🛠 Error handling \u0026 logging\n* 🧭 Routing configuration\n* 🎨 Theming \u0026 reusable widgets\n\n### Features Layer\n\nEach feature contains:\n\n* `data/` → models \u0026 repository implementations\n* `presentation/` → Cubits \u0026 UI\n\n---\n\n## 🔐 Authentication \u0026 Security\n\n### Dual JWT Token Strategy\n\nThe system implements a **secure Access/Refresh token mechanism**.\n\n#### 🔁 Automated Token Refresh Flow\n\n1. API returns `401 Unauthorized`\n2. `AuthInterceptor` intercepts the error\n3. Refresh token request is triggered\n4. Failed requests are queued\n5. New access token is stored securely\n6. All queued requests are retried automatically\n\n#### Security Enhancements\n\n* 🔒 Flutter Secure Storage → Sensitive token storage\n* ⚡ GetStorage → Lightweight fast caching\n* 🧠 Concurrent-safe refresh logic (prevents multiple refresh calls)\n* 🛡 Automatic session invalidation if refresh fails\n\nThis ensures uninterrupted user experience with maximum security.\n\n---\n\n## 🌐 Network Layer\n\nBuilt on **Dio** with layered interceptors:\n\n* AuthInterceptor\n* RetryInterceptor\n* HeaderInterceptor\n* Logging Interceptor\n* Network Connectivity Interceptor\n\nFeatures:\n\n* Centralized error mapping\n* Automatic retry handling\n* Clean API abstraction via `ApiConsumer`\n* Reduced boilerplate across repositories\n\n---\n\n## 🧠 State Management\n\nUses **flutter_bloc (Cubit)** for:\n\n* Predictable state transitions\n* Clear loading/success/error flows\n* Decoupled UI from business logic\n* Efficient rebuild management\n\nEach feature maintains isolated Cubits for scalability.\n\n---\n\n## 🧭 Routing\n\nDeclarative routing using **go_router**.\n\n* Protected authenticated flows\n* Shared layout using ShellRoute\n* Clean separation between Auth and Dashboard routes\n* Role-based navigation support\n\n---\n\n## 🛠 Tech Stack\n\n| Category | Technology |\n|---|---|\n| Framework | Flutter Web |\n| Architecture | MVVM + Repository Pattern |\n| State Management | flutter_bloc (Cubit) |\n| Networking | Dio |\n| Routing | go_router |\n| Local Storage | Flutter Secure Storage, GetStorage |\n| Data Tables | data_table_2 |\n| Responsiveness | flutter_screenutil |\n| CI/CD | Automated Pipeline |\n\n---\n\n## 📸 System Showcase\n\nVisual overview of the **SAMS Admin Dashboard**, highlighting core modules, **Optimistic UI interactions**, and enterprise-grade workflows.\n\n\u003cdiv align=\"center\"\u003e\n  \u003ctable\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003cb\u003e🔐 Secure Gateway \u0026 Authentication\u003c/b\u003e\u003cbr\u003e\n        \u003ci\u003eEnterprise-grade login with dual JWT token management and role-based access control (RBAC)\u003c/i\u003e\u003cbr\u003e\n        \u003cimg src=\"assets/branding/login_gateway.png\" width=\"100%\" /\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003cb\u003e🛡 Identity Recovery Ecosystem\u003c/b\u003e\u003cbr\u003e\n        \u003ci\u003eMulti-step OTP verification \u0026 secure password reset workflow with client-side validation\u003c/i\u003e\u003cbr\u003e\n        \u003cimg src=\"assets/branding/identity_recovery.png\" width=\"100%\" /\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003cb\u003e📊 Centralized Operations Intelligence\u003c/b\u003e\u003cbr\u003e\n        \u003ci\u003eHigh-density data grid with real-time Optimistic UI updates, global search, advanced filtering, and inline role management\u003c/i\u003e\u003cbr\u003e\n        \u003cimg src=\"assets/branding/admin_dashboard.png\" width=\"100%\" /\u003e\n      \u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003cb\u003e👤 Administrative Onboarding Engine\u003c/b\u003e\u003cbr\u003e\n        \u003ci\u003eEfficient user provisioning with multi-role support, activation/deactivation, strict validation, and immediate UI feedback\u003c/i\u003e\u003cbr\u003e\n        \u003cimg src=\"assets/branding/user_onboarding.png\" width=\"100%\" /\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/table\u003e\n\u003c/div\u003e\n\n---\n\n\n## 📊 Dashboard Capabilities\n\n### 👥 User Management\n\nAdministrators can:\n\n* Create new users\n* Activate/Deactivate accounts instantly\n* Dynamically switch user roles (e.g., Student ↔ Instructor)\n* Perform global search\n* Filter by role \u0026 status\n* Navigate paginated high-density data tables\n\n### 📋 Data Table Features\n\n* Optimized for web\n* Dynamic pagination\n* Inline role modification\n* Status badges\n* High-performance rendering\n\n---\n\n## 📱 Responsive Design\n\nBuilt using:\n\n* `flutter_screenutil`\n* Adaptive layout logic\n\nSupports:\n\n* Desktop Web\n* Tablet\n* Mobile Web\n\nEnsures consistent UI/UX across all screen sizes.\n\n---\n\n## 🚀 CI/CD Pipeline\n\nIntegrated with an automated pipeline:\n\n* Code validation\n* Automated testing\n* Build verification\n* Deployment automation\n\nEnsures production stability and faster iteration cycles.\n\n---\n\n## 🧪 Scalability \u0026 Extensibility\n\nThe architecture supports easy expansion:\n\n* Role-based permissions system\n* Audit logs\n* Analytics dashboard\n* Multi-tenant support\n* Feature toggling\n\nWithout refactoring core layers.\n\n---\n\n## 🔗 Related Repositories\n\nThis Admin Dashboard is part of a four-component system:\n\n| Repository | Description | Link |\n|---|---|---|\n| **Flutter Client** | Cross-platform mobile \u0026 web application (iOS · Android · Web) | [mohamed-dev-404/academiax](https://github.com/mohamed-dev-404/academiax) |\n| **Admin Dashboard** *(this repo)* | Flutter Web-only admin panel · MVVM · CI/CD pipeline · User \u0026 role management | Current Repository |\n| **Backend API** | NestJS REST API · MongoDB · Redis · JWT Auth | [gemmy404/sams-api](https://github.com/gemmy404/sams-api) |\n| **AI Plagiarism Engine** | Python NLP microservice · Sentence Transformers | [mohammedeissa7/plagiarism_project](https://github.com/mohammedeissa7/plagiarism_project) |\n\n---\n\n## 👥 Contributors\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003e\n  \u003ca href=\"https://github.com/mohamed-dev-404\"\u003e\n    \u003cimg src=\"https://github.com/mohamed-dev-404.png\" width=\"80px;\" alt=\"Mohamed Ibrahim\"/\u003e\u003cbr/\u003e\n    \u003csub\u003e\u003cb\u003eMohamed Ibrahim\u003c/b\u003e\u003c/sub\u003e\n  \u003c/a\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\n  \u003ca href=\"https://github.com/Yomna-Abdelmegeed\"\u003e\n    \u003cimg src=\"https://github.com/Yomna-Abdelmegeed.png\" width=\"80px;\" alt=\"Yomna Abdelmegeed\"/\u003e\u003cbr/\u003e\n    \u003csub\u003e\u003cb\u003eYomna Abdelmegeed\u003c/b\u003e\u003c/sub\u003e\n  \u003c/a\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## 🏆 Conclusion\n\nThis project demonstrates a **production-ready, enterprise-level Flutter Web solution**, focusing on:\n\n* 🔐 Security-first architecture\n* 🧱 Clean engineering standards\n* ⚡ Performance optimization\n* 📈 Scalability\n* 🔄 Modern CI/CD practices\n\nIt reflects a real-world, industry-grade approach to building secure administrative systems using Flutter.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\nMade with ❤️ using Flutter\n\n\u003c/div\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohamed-dev-404%2Facademiax-admin-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmohamed-dev-404%2Facademiax-admin-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohamed-dev-404%2Facademiax-admin-dashboard/lists"}