https://github.com/shankarbus/examresults
Unofficial TNMGRMU Exam Results Web Interface and .NET Command-Line Interface
https://github.com/shankarbus/examresults
api apps-script automation cli cs dotnet exam-results forms js mbbs tnmgrmu web
Last synced: 4 months ago
JSON representation
Unofficial TNMGRMU Exam Results Web Interface and .NET Command-Line Interface
- Host: GitHub
- URL: https://github.com/shankarbus/examresults
- Owner: ShankarBUS
- License: mit
- Created: 2025-04-20T22:13:27.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-07-04T11:06:41.000Z (7 months ago)
- Last Synced: 2025-07-04T12:41:55.492Z (7 months ago)
- Topics: api, apps-script, automation, cli, cs, dotnet, exam-results, forms, js, mbbs, tnmgrmu, web
- Language: C#
- Homepage: https://shankarbus.github.io/examresults/
- Size: 621 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Unofficial TNMGRMU Exam Results Web Interface and .NET Command-Line Interface
## Overview
This project provides an **unofficial platform** to access Tamil Nadu Dr. M.G.R. Medical University (TNMGRMU) Exam Results. It includes:
- A **web-based interface** for students to view their results. [GitHub Pages Link](https://shankarbus.github.io/examresults/)
- A **.NET command-line interface (CLI)** for batch processing and exporting multiple results into a single CSV file. It is currently hardcoded for **final year** results (i.e., `THIRD PROFESSIONAL PART-II`).
- A [**Guide for Automating TNGMRMU Exam Result Distribution Using Google Forms and Apps Script**](/docs/automation_with_google_forms_and_apps_script.md)
## Disclaimer
> [!CAUTION]
>
> - This is an **unofficial tool** only for educational purposes and is **not affiliated with TNMGRMU**. Use at your own discretion.
> - There is no guarantee that this will work forever as they might change the API anytime in the future.
## Features
- **Web Interface**: Allows users to enter their registration number and fetch results interactively.
- **.NET CLI Tool**: Automates the process of fetching results for a range of registration numbers and exporting them to a CSV file.
## Installation and Setup
### Prerequisites
- **Web Interface**: A modern web browser.
- **.NET CLI Tool**: [.NET 9.0 SDK](https://dotnet.microsoft.com/download/dotnet/9.0).
### Steps
1. Clone the repository:
```bash
git clone
```
2. Navigate to the project directory:
```bash
cd examresults
```
3. For the CLI tool:
- Navigate to the CLI folder:
```bash
cd src/ExamResultsCLI
```
- Build the project:
```bash
dotnet build
```
- Run the CLI:
```bash
dotnet run
```
4. For the web interface:
- Open `web/index.html` in a browser.
## Usage
### Web Interface
1. Open `index.html` in a browser.
2. Enter your **Registration Number** in the input field.
3. Click the **Show Results** button to fetch and display your exam results.
4. Use the **Back** button to reset the interface.
5. Alternatively, visit the hosted website: [https://shankarbus.github.io/examresults/](https://shankarbus.github.io/examresults/)
### Command-Line Interface (CLI)
1. Run the CLI tool:
```bash
dotnet run
```
2. Enter the starting and ending registration numbers when prompted.
3. The tool will fetch results for the specified range.
4. Optionally, save the results to a CSV file by typing `Y` when prompted.
## Project Structure
- **web/**: Contains the web interface files (`index.html`, `script.js`, `styles.css`).
- **src/ExamResultsCLI/**: Contains the CLI tool source code.
## APIs Used
This project interacts with the TNMGRMU API to fetch exam results. Below are the APIs used and their functionality:
### 1. Login API
**URL:**
```plaintext
https://cms2api.tnmgrmu.ac.in/Api/index.php/Login/appLogin?registration_no={0}&login_type=result
```
**Description:**
- This API is used to authenticate and retrieve the `exam_session` for a given registration number.
- Replace `{0}` with the student's registration number.
**Sample Response:**
```json
{
"resultcode": "200",
"resultmessage": "Success",
"result": {
"registration_no": "",
"student_name": "",
"course": "M.B.B.S.",
"exam_session": "Feb 2024",
"source": "CMS 1.0"
}
}
```
### 2. Load Course Term API
**URL:**
```plaintext
https://cms2api.tnmgrmu.ac.in/Api/index.php/Login/loadCourseTerm?registration_no={0}&exam_session={1}
```
**Description:**
- This API retrieves the `course_term` for the next API call.
- Note: it returns an array as there could be multiple terms if the student wrote more than one exams recently.
- Replace `{0}` with the registration number and `{1}` with the `exam_session` obtained from the Login API.
**Sample Response:** (for final year)
```json
{
"resultcode": "200",
"resultmessage": "Get data",
"result": [
{
"course_term": "THIRD PROFESSIONAL PART-II"
}
]
}
```
### 3. Result API
**Base URL:**
```plaintext
https://cms2api.tnmgrmu.ac.in/Api/index.php/StudentPreview/previewGradeMarkAllCourse?registration_no={0}&term_code={1}
```
**Description:**
- This API fetches the exam results in JSON format.
- Replace `{0}` with the registration number and `{1}` with the `course_term` obtained from the Load Course Term API.
**Example Specific URL:** (for final year)
```plaintext
https://cms2api.tnmgrmu.ac.in/Api/index.php/StudentPreview/previewGradeMarkAllCourse?registration_no={0}&term_code=THIRD%20PROFESSIONAL%20PART-II
```
**Functionality:**
The JSON response is parsed and displayed in the web interface or formatted into a CSV file for batch processing.
These APIs are integral to the functionality of both the web and CLI tools, enabling seamless retrieval and processing of exam results.