Skip to content

AsishRaju/Grade-Fetcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Grade-Fetcher✔

What It Does❓

  • Gets complete Section (Class)/Batch results in one click without manually entering each student roll-no from Portal.
  • With the help of easily understandable UI, user enters the mentioned details and clicks on GET DATA button.
  • Grade-Fetcher-App then saves the data obtained from Portal in excel file.

Tools I Used🛠

  • The whole processing from backend to frontend is taken care by Python.
  • Pyqt5 offers a great frontend library for Python,and this is what i used to make my UI.
  • Additionally i used Pyqt5 designer tools for rapid development of UI.
  • At backend Selenium web drivers runs and connect to my university website and fetch the required data.
  • At same time the data gets saved to Excel-file using Openpyxl library.

How To use🖱

  • Clone this repo and extract files to your desired location.
  • Open Grade-Fetcher->App->app.exe.
  • If you see a Command Terminal, its fine it acts as a error box.
  • Any error while fetching data or internal code error will be show in Command Terminal.
  • Main UI should just appear immediately.
  • The whole UI is made very simple to understand and work on, but still you can refer this Video for your doubts.

How It Works🤔

  • Its very simple, just like connecting diffrent blocks in lego.
  • So i created a UI that looks almost same as our university results Portal.
  • As we can see one can easily get other student marks by simply entering the roll-no.
  • But what if the user wants to get all results of his classmate's and compare himself with others?
  • That's where my Grade-Fetcher-App come's to play.
  • Insted of manually entering each roll-no my Grade-Fetcher-App will do that for you.
  • User enters Starting Roll-no , Ending Roll-no , Semester and chooses the Excel-File-Location to save the marks.
  • Grade-Fetcher-App will check for Validity of all input's and progress of validation can be seen in the Progress Bar
  • Once all the inputs are verified then Pyqt5 send this data to Selenium web drivers.
  • Now Selenium open a chrome window and connects to Portal and starts entering data into the text-field and clicks on Get-Result button automatically.
  • Once result page is obtained it fetches Student-Name , Student-Roll-No , Student-GPA , Student-CGPA.
  • And passes this data to Openpyxl which saves data into user selected Excel-File.
  • This process keeps on repeating until Ending Roll-no is reached.
  • After getting data for all the Roll-no the browser gets closed, which is indication that its safe to open the excel file and check the data that Grade-Fetcher-App got.

Know Problems❌

  • Grade-Fetcher-App dosen't respond when Selenium browser is running.
  • Grade-Fetcher-App dosen't work well with slow internet connection (<=5Mbps)
  • Grade-Fetcher-App-UI dosen't adapts itself when the window is resized.
  • A lot of code optimization is required which can make app perform better

Work In Progress🚧

  • Working on Code optimization.
  • Adding feature to get the Whole university result of a paticular department for a paticular Semester.
  • Adding feature to generate Rank of the student based on their CGPA.
  • Working on a RESPONSIVE UI.

How To Contribute🤝

  • Yes,it is open source you can clone and change code to your need.
  • for any clarification on code or want to contribute contact vashish888@gmail.com or Dm me on Instagram.

Update-v1.0.1

  • Added ability to fetch all the subject marks and also account for elective subjects;
  • No need to fill excel file before hand for heading , my app will do it for you;
note-i compare myself with others as a competitive spirit which help me improve myself but not everyone thinks the same so don't think i treat other based on their grades.
Thank You.

Releases

No releases published

Packages

No packages published

Languages