Skip to main content

System Overview

The Shiksha Saathi Mobile Application stands as a technologically advanced solution developed by Samagra Shiksha to transform the landscape of education administration and monitoring in Himachal Pradesh. Rooted in modern technology, the application leverages the Open Data Kit (ODK) framework for data collection, ensuring efficient and robust functionality. This system overview provides insight into the technical architecture, data collection process, and key features that enable stakeholders to seamlessly monitor schools, analyze data, and drive improvements in the education sector.

Key Features

  • Submit Mentoring Form: Fill server-driven mentoring forms, recording data from the mentor school visit and other relevant data.
  • Submit Meeting Form: Fill server-driven meeting forms, recording data from the different administrative meetings.
  • View Submissions: View past submissions of mentoring and meeting forms previously submitted.
  • Compliance Dashboard: Dashboard to showcase realtime statewide statistics and other processed data fields.
  • Help Section: Enable teachers to apply various filters to select specific homework tasks and send them to parents via messages.
  • Profile: Update personal and professional information(excluding username), and reset password.

System Architecture

Data Collection Process:

The core feature of the application is its offline-enabled data collection process, facilitated by the integration of the Open Data Kit (ODK) framework. Here's how the process unfolds:

  1. Form Download: Relevant forms for school visits and data collection are downloaded upfront onto the user's mobile device when connected to the internet. These forms are customized to capture specific data points required for monitoring.

  2. Offline Data Capture: Users can conduct school visits and collect data even in locations with limited or no internet connectivity. The application captures various data types, including text, images, and geolocation markers.

  3. Data Storage: Collected data is stored securely within the mobile device's local database, ensuring that no data is lost even in offline scenarios.

  4. Data Synchronization: When the device reconnects to the internet, the application automatically synchronizes the locally stored data with the central database. This process ensures that the collected data is accurately reflected in the larger system.

Key Features and Benefits:

  1. Offline Functionality: The application's integration with ODK allows seamless offline data collection, catering to remote and connectivity-challenged areas, a crucial feature in a diverse geographical region like Himachal Pradesh.

  2. Real-time Analytics: The Data Analytics Component processes collected data to generate real-time insights, enabling education administrators to identify trends, issues, and opportunities promptly.

  3. Evidence-based Decision-making: By empowering stakeholders with accurate and timely data, the application facilitates informed decision-making at district and state levels, contributing to improved education administration.

  4. Accountability and Transparency: The application's use across multiple bureaucratic levels fosters accountability mechanisms, ensuring that identified issues are addressed, and progress is monitored through regular review meetings.

  5. User-centric Design: The Mobile Application Component's user interface is intuitively designed, ensuring ease of use for monitors, inspectors, and administrative officials, contributing to a positive user experience.

Integration

The Shiksha Saathi application integrates with various services and APIs, including Hasura for specific modules requiring backend interactions, FusionAuth for user management, login, and token creation functionalities, Posthog for logging services, Firebase Crashlytics for crash reporting and analytics, and SMS services for sending notifications.

Repositories

  1. Shiksha Saathi App

  2. Program (Project dependencies)

Building Blocks

  1. User Service - To allow users to log into the app

  2. Hasura - To save and retrieve data via Graphql

  3. ODK - To collect information from the users into the form created

Roles & Permissions

The Shiksha Saathi application consists of high-level roles, along with various lower-level designations. Each user is assigned an authentication token upon login, which filters the results on both API layers and Hasura calls based on the role mapped in the JWT. These tokens are generated by the User Service, which acts as a wrapper on top of FusionAuth.