Samarth - Admin Panel
Introduction
The Admin Panel is designed to streamline and simplify the management of multiple crucial aspects within the education ecosystem. Our robust platform empowers administrators with efficient control over a wide range of functionalities, including student management, teacher administration, school oversight, location tracking, E-samwaad user management, and Shiksha Saathi user management.
It provides a user-friendly interface and powerful features, with the help of which administrators can effortlessly navigate and oversee these vital components, ensuring smooth operations and seamless communication.
Need
The needs are endless but we have highlighted some of the key uses of the Admin Panel in our setting here.
Centralized Control: An admin panel provides a centralized platform for administrators to manage various functionalities and data related to students, teachers, schools, locations, and user accounts.
Efficient Data Management: Admin panels facilitate efficient data management by allowing administrators to store, organize, and update information related to students, teachers, and other users. This ensures accurate record-keeping and easy retrieval of data whenever needed without actually accessing Hasura.
User Access Control: With an admin panel, administrators can regulate user access rights and permissions. They can create and manage user accounts, assign roles and responsibilities, and control the level of access granted to different individuals or groups. This helps maintain data security and privacy. This is relevant in tabs like Shiksha Saathi and E-Samwaad
Scalability and Growth: As databases and complexities grow and evolve, an admin panel offers scalability to accommodate increasing data, users, and functionalities. It provides a flexible framework to adapt to changing needs and support future expansion.
Overall, an admin panel enhances the efficiency and productivity of administrators by providing a comprehensive toolset for managing multiple functionalities. It reduces manual tasks, improves communication, and streamlines processes, allowing administrators to focus on strategic decision-making and driving positive outcomes in the education system.
Repo 📦
All the code related to Admin Panel can be accessed through https://github.com/Samarth-HP/admin-ts
Features ✨
View details associated with any of the 7 tabs available.
Ability to create new entries easily
Edit any information as and when required
Filters to reduce the noise :)
One click export to PDF
Delete unwanted entries
Working ⚙️
Within the React App, users interact with the user interface to select or modify information. This can include actions such as updating a student's details, adding a new teacher, or modifying school information.
To handle these user actions, a Hasura Data Provider, like ra-data-provider, is employed. This data provider acts as a bridge between the React App and the Hasura API. It facilitates the conversion of user actions into GraphQL queries, which define the desired data retrieval or modification operations.
The GraphQL queries, generated by the Hasura Data Provider, are sent to the Hasura API. The API acts as the middleware, receiving the queries and processing them accordingly.
Upon receiving the GraphQL queries, the Hasura API performs the necessary transformations. It converts the GraphQL queries into SQL queries, which are compatible with the underlying database. These SQL queries are then executed to retrieve or modify the data as requested by the user.
Once the data is retrieved or modified, it is sent back from the Hasura API to the Data Provider. The Data Provider then processes the data and prepares it to be sent back to the User Interface.
Finally, the data is delivered back to the User Interface within the React App. The user interface can then update accordingly, displaying the requested data modifications or presenting the retrieved information to the user.
Flows
Currently Admin Panel supports 7 different tabs namely
Each providing an interface to view data related to each of the respective tabs, modifying them, removing them as well as creating new entries along with the features mentioned in the Features section