Giter Site home page Giter Site logo

decoded-cipher / mgu-result-scraper Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 0.0 182 KB

A project designed to automate the process of fetching result screenshots from the MGU result portal, sending them to students via email as secure PDFs, and generating consolidated marklists and result analysis for teachers.

JavaScript 94.75% HTML 2.76% Python 2.49%
university-result mgu-kottayam playwright pdfkit docker rabbitmq

mgu-result-scraper's Introduction

MGU Result Scraper

This is a simple project to get the result screenshots of a list of students from Mahatma Gandhi University result portal.

๐ŸŒŸ Introduction

First of all, Mahatma Gandhi University doen't have a fixed official URL for accessing all results. They keep on changing as the results get published. Two prominant links (active as of now) for accessing results are listed down below:

The accuracy of these links are questionable as time passes. But the element heirarchy within result pages remains the same always.

๐ŸŒŸ Script in Action (Demo)

Demo

๐ŸŒŸ Installation

  1. Clone this repository
git clone https://github.com/decoded-cipher/mgu-result-bot.git
  1. Install NPM packages
npm install
  1. Update the data.json file.

Update the file with Permenent Registration Numbers (PRN) and the Exam ID. Exam ID (option value) can be obtained by inspecting the Examination <select> tag on result portal.

{
    "exam_id" : "58",
    "prn" : [
        "203242210987",
        " ... ",
        "203242211046"
    ]
}

๐ŸŒŸ Run Project

This project can be made run by executing the following command via terminal.

npm start

mgu-result-scraper's People

Contributors

decoded-cipher avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

mgu-result-scraper's Issues

Make project Python-free

We need to find an alternative to the Python child processes, that are used to add borders to graph images and to print as PDFs. The Python dependencies are causing issues while trying to run on other computers due to version issues and lack of the Python dev environment.

Common minor fixes to all result docs

  • Add appropriate headings and subheadings to all result sheets to transform them into a complete document.
  • There's a typo in the header - college name. Fix that too

Discrepancy in Subject List / Names / Count

Regarding semesters offering open-courses or elective papers, each student's Subject list would differ. This happens mostly on UG Streams.
Here's such an example in which, Malayalam, Hindi, or French could be opted as language paper.

image

OBE Sheet : Warning issue

Sometimes, the OBE Sheet shows warning-like issues, once we open it. It tries to retrieve most of the data and overwrite the already saved version. This issue needs to be addressed, as it needs human intervention to complete the process.

Feature plans for Version 4.0 (v4.0)

Build a web interface for the users to interact with the system

  • Add a terminal to showcase the logs of ongoing processes using Xterm.js
  • Add a process indicator/visualizer using D3.js in the form of a flowchart would elevate the UX to a whole new level
  • There must be multiple ways to feed the Student PRNs into the system.
    • Fields to enter start_PRN and end_PRN, so that the system could iterate all along
    • Provision to upload XLSX/CSV Sheets with Email Addresses
  • Uploading XLSX/CSV should also trigger the generatePDF and sendEmail functionality by default.
    Use File Pond for uploading files, just because it is aesthetically pleasing.

Discrepancy on Subject-wise Grade Distribution Table

The discrepancy on the "Overall Grade Distribution" table on the "Result Analysis Sheet" is due to the missing Grade cell on the result. But this also happens on the "Subject-wise Grade Distribution", which is of no clue at all...

image

Add Declaimer towards the bottom of all results

Disclaimer:

This MGU Result Scrapper project is currently in an active development phase. We do not assert the absolute accuracy of all compiled results. Users are advised to use this tool for obtaining an overall idea rather than relying solely on its outcomes. In the event of any discrepancies discovered among the compiled results, we encourage users to promptly report them for further investigation. Your feedback is crucial in enhancing the accuracy and reliability of this project.

NaN among ESA & ISA

Among the ESA and ISA values, there happened to be a row with a NaN value. This is also causing issues on OBE Datasheet. This wasn't in the picture till data, as we weren't using these values before.

Result Graph PDF is a total mess now

The page-wise alignment of the graphs within the Result Graph sheet is broken. It also makes the graph images stretch vertically, making it aesthetically non-pleasing and useless.

Bug in generating analytics

image
When I try to run the program the analytics is not working properly all other function is done correctly and all the data is inserted into DB

Feature plans for Version 5.0 (v5.0)

Here, we'll be focusing more on deriving better Analytics and Inferences from the data.

  • Side-by-side comparison with previous results. Feel free to get inspired by Fi Money App spending pattern inferences
  • Embed the system into our Unified Digital Platform Interface so that anyone with proper credentials can use this system on the cloud.
  • Build a secure API interface so that colleges can integrate this into their LMS, probably into Student's Profiles

Handle Missing Data

While fetching the data, there happened to have multiple results with partial data

  • Screenshots & HTML with half the table rows
  • Missing Graded & Grade Points (We must calculate the missing Overall & Subject Grades, if the student has cleared all subjects)

Multi-page Screenshot PDF

Generate a PDF with all the result screenshots together as a multi-page PDF (need not be a secure one) to be sent out to teachers, via Email.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.