Skip to content
Shruti Agarwal edited this page Jul 5, 2022 · 17 revisions

Shiksha Frontend Architecture

Terminologies

image

Components

Everything inside the page will be a component, and there will be a rule if any component is reused more than two times then it will be pushed to the shiksha-ui package.

Screenshot from 2022-07-05 11-05-38 Screenshot from 2022-07-05 11-05-28

Pages

pages

Pages are the navigate parts of the module. The page generally indicates the complete information of one of the piece of module. Example: View Worksheet, Question Bank will be the two separate pages in the worksheet module. At this stage, we can test the efficiency of the design system to analyse if all the atoms and molecules are independent enough or if we need to split them in smaller parts.

Module

pages pages

Module is a standalone unit with related functionality implemented for a feature. Module has a manifest file with the configuration for the module. Module is the combination of pages and in some cases module can also be a single page only.

Example:

We have a My Classes page in teacher app and Attendance page where teacher marks attendance for the class. Instead of devloping all the functionality in single app, we create a ClassModule and Attendance module apps. ClassModule implements feature for MyClasses page. Attendace module implements feature for Attendace page. The Attendance page is quite generic which can be used to mark attendace of anny entiity like teacher, student etc. teacher-app is host application which can reuse components from ClassModule and Attendance

ClassModule and Attedance can be hosted as standalone application.

Module can also use exposed component from other module.

Application

Application is composed of many feature modules such as teacher app consits of Attendance Module, Worksheet Module, Notification Module etc.

Example: https://sandbox.shikshaplatform.io/

Shiksha

Getting Started

Tech Architecture

Telemetry Spec

Config UI for new frontend module

Clone this wiki locally