This repository contains a cross-platform mobile application for monitoring Ethereum 2.0 validator performance and machine metrics. Built with Ionic Framework and Angular, it provides a dashboard for tracking validator balances, rewards, effectiveness, and machine resource utilization (CPU, memory, disk, network). The application features integration with the beaconcha.in API for blockchain data, local storage synchronization via a custom Capacitor plugin (storage-mirror), and supports advanced features such as Rocketpool integration, multi-currency display, and configurable notifications. The architecture follows a modular, lazy-loaded pattern with distinct feature modules for validators, dashboard, preferences, and machine monitoring. Notable reusable components include the storage-mirror Capacitor plugin for cross-platform data sharing between the app and home screen widgets, and an InfiniteScrollDataSource utility for efficient paginated data loading using RxJS. The application is actively maintained and demonstrates strong engineering practices in its modular design and separation of concerns. However, the application's reliance on external APIs (beaconcha.in, Firebase, Coinbase, GitHub) and platform-specific native plugins introduces maintenance overhead and potential points of failure. The feature-rich nature of the application also increases complexity, though the core architecture remains sound.
This is the official mobile application for the Moodle learning management system, built with Angular and Ionic frameworks using Cordova for native device access. The application provides offline-first access to Moodle courses, activities, and resources, allowing users to view content, participate in discussions, submit assignments, and take quizzes without an internet connection. Data synchronizes with the Moodle server when online. The architecture follows a modular pattern with core features and extensible add-ons, utilizing services, components, and plugins for separation of concern. Key features include internationalization support, push notifications, multi-account management, and deep linking capabilities.