Kembali ke IDE (Ilmu Digital Ekonomi)
edutech 2024

IDE Super App - Windows

Product Engineer

Tersedia di:

IDE Super App - Windows is a comprehensive educational platform developed for PT Yapindo Jaya Abadi with the tagline "Super Learning Platform for Economics & Business Students. Learn smarter, more efficiently, and practically with IDE Super Apps."

This native Windows desktop application consolidates fragmented learning resources into a unified ecosystem, eliminating the need for students to juggle multiple platforms. Instead of switching between different systems, students can access all learning materials, classes, videos, and journals in one place.

The platform integrates 9 core modules including authentication with Remember Me and device verification, home dashboard with live class tracking and countdown timers, learning materials with Basic/Advanced categorization, online classes with Zoom integration and real-time status polling, premium videos with Media Kit player and chapter navigation, academic journals with smart search and PDF viewer, program selection for multi-program management, profile and settings with role-based UI, and smart routing with auto-login.

Built with Flutter 3.29.3 using Clean Architecture, Fluent UI for Windows-native design, BLoC/Cubit state management, GetIt dependency injection, real-time polling with exponential backoff (1-10 min intervals), and Shorebird for over-the-air updates.

Flutter Dart Fluent UI BLoC/Cubit GetIt Dio Flutter Secure Storage Media Kit Shorebird Easy Localization Clean Architecture
IDE Super App - Windows

Download di

Highlight Proyek

9 integrated modules in single desktop application: Authentication, Dashboard, Learning Materials, Online Classes, Premium Videos, Journals, Program Selection, Settings, and Splash & Routing

Windows-native design with Fluent UI for optimal and familiar desktop experience - custom window controls, modern acrylic effects

Real-time class status polling with exponential backoff (1-10 min intervals) for server efficiency and accurate updates

Multi-role support with conditional UI for students and instructors (super user) with program selection

Advanced video player with Media Kit integration, chapter navigation, quality selection, and progress tracking

Smart search for journals with popular keywords, embedded PDF viewer, and infinite scroll pagination

Clean Architecture implementation with 3-layer separation (Presentation, Domain, Data) for maintainability

Secure authentication with encrypted storage, device ID verification, and 3-step password recovery flow

Self-service features: password recovery, profile management, and subscription tracking for reduced support load

Over-the-air updates via Shorebird for instant bug fixes without full app reinstallation

Info Proyek

Role Product Engineer
Tahun 2024
Kategori edutech

Tech Stack

FlutterDartFluent UIBLoC/CubitGetItDioFlutter Secure StorageMedia KitShorebirdEasy LocalizationClean Architecture

Masalah → Solusi → Dampak

Masalah

Economics & business students at PT Yapindo Jaya Abadi faced significant challenges. Learning content was scattered across 4+ different platforms: separate LMS, video sites, journal databases, and Zoom links.

Students struggled with tracking online class schedules, resulting in missed sessions. Limited access to research journals required manual library visits, and desktop user experience was poor with mobile-first platforms.

Instructors also faced difficulties managing content for multiple study programs simultaneously, leading to inefficiencies in content delivery and student support.

This fragmentation caused poor learning continuity, wasted time switching between platforms, reduced class attendance, and frustration with suboptimal desktop interfaces.

Solusi

Developed a comprehensive native Windows desktop application with 9 integrated modules using Flutter 3.29.3 and Fluent UI for Windows-native experience. The platform unifies all learning resources (materials, classes, videos, journals) into a single desktop application optimized specifically for Windows users.

Implemented Clean Architecture with BLoC/Cubit state management for predictable state flow. Built real-time polling with exponential backoff (1-10 min intervals) for live class status tracking, ensuring accurate and efficient updates without overwhelming the server.

Added multi-role support with conditional UI rendering for students and instructors. Integrated advanced Media Kit video player with chapter navigation, smart journal search with embedded PDF viewer, and secure authentication with encrypted Flutter Secure Storage.

Leveraged Shorebird OTA updates for instant bug fixes without full app reinstallation, enabling rapid deployment and improved user experience.

Dampak

  • Unified platform consolidates all learning resources in one app (vs 4+ separate systems) - saving 15-30 min/day
  • Improved class attendance with live status tracking, countdown timers, and 1-click Zoom join
  • Enhanced content discovery through smart search, 2-tier categorization, and featured carousels
  • Research access democratized with instant digital journal library vs manual library visits
  • Multi-program management streamlined for instructors with easy program switching
  • Support cost reduction through self-service password recovery and profile management
  • Desktop-first experience with Windows-native Fluent UI design vs mobile-first competitors
  • Faster bug fixes via Shorebird OTA updates (minutes vs days) without app reinstallation

Tantangan Engineering & Solusi

Hambatan teknis yang ditemui selama development dan keputusan arsitektur untuk mengatasinya.

Tantangan

Live class status polling with exponential backoff for server efficiency without overload

Solusi

Implemented exponential backoff polling strategy: start with 1 minute interval, on failure increase to 2min → 4min → 8min → 10min (max), on success reset to 1 minute. Built auto-recovery mechanism and in-memory caching to reduce API calls. Polling only runs when app is active to reduce battery drain and server load.

Tantangan

Multi-role support with different workflows for students vs instructors without code duplication

Solusi

Designed role-based routing system with conditional UI rendering based on user role. Super user (instructor) is directed to Program Selection screen, regular user goes directly to Home. Implemented global program context with persistent storage to filter all content per program. Created reusable components with role-based props to avoid duplication.

Tantangan

Program data isolation to filter thousands of content based on program selection

Solusi

Built global program context system with persistent storage using Flutter Secure Storage. Program code is stored globally and used to filter all API calls (materials, classes, videos, journals). Implemented data isolation per program with clear separation, ensuring relevant content is displayed for each study program.

Tantangan

Video player performance with smooth playback and chapter navigation

Solusi

Integrated Media Kit package for advanced video playback capabilities. Built custom video player with chapter navigation system, quality selection, and progress tracking. Implemented efficient video caching strategy and optimized playback controls for smooth experience across different video formats and network conditions.

Tantangan

Desktop window management with custom window controls in Flutter Windows

Solusi

Used window_manager package to implement custom window controls with hidden titlebar. Created custom minimize, maximize, and close buttons with Fluent UI styling. Implemented window state management to preserve user preferences and responsive layout for various window sizes (1066x600 to fullscreen).

Tantangan

State synchronization to keep UI in sync with multiple data sources

Solusi

Implemented BLoC/Cubit pattern with reactive streams for predictable state management. Created separate cubits for each module (HomeCubit, KelasCubit, VideoCubit, JurnalCubit) with clear state flow. Used GetIt for dependency injection, ensuring state updates propagate correctly across components. Built proper error handling and loading states for better UX.

Tantangan

Over-the-air updates with Shorebird for instant bug fixes without app store delays

Solusi

Integrated Shorebird code push system for Flutter 3.29.3 to enable OTA updates bypassing traditional app distribution. Implemented version tracking and update notification system. Built silent update mechanism for critical bug fixes and user-facing notifications for feature updates. Enabled instant deployment of bug fixes (minutes vs days) while maintaining app stability and user experience.

Tantangan

Secure session persistence with Remember Me functionality and device verification

Solusi

Built secure session management using Flutter Secure Storage for encrypted token persistence. Implemented Remember Me feature with 30-day session validity, auto-login on app restart with background auth validation. Added device ID verification to ensure tokens are only valid on registered devices. Created smart routing on splash screen: auto-login for valid sessions, redirect to login for expired/invalid sessions, with seamless UX transitions.

Gambaran Arsitektur

IDE Super App - Windows follows Clean Architecture with clear separation between Presentation, Domain, and Data layers. Flutter 3.29.3 handles UI layer with Fluent UI design system, BLoC/Cubit for state management, and GetIt for dependency injection. Business logic is handled by Interactor layer, while Data layer uses Dio for REST API calls and Flutter Secure Storage for encrypted local storage. Shorebird enables over-the-air updates, Media Kit provides video playback, and Easy Localization handles i18n support.

Presentation
Flutter DesktopFluent UIBLoC/Cubit State Management
Domain
Interactor (Business Logic)Entities/ModelsUse Cases
Data
REST API (Dio)Flutter Secure StorageLocal Cache
Services
Shorebird OTAMedia KitEasy Localization
Security
Token AuthenticationEncrypted StorageDevice ID Verification

Screenshots

Tertarik kerja bareng?

Yuk ngobrol soal project selanjutnya.

Hubungi Saya