Portfolio

Transcript Reader

December 2020

My sister is a guidance counselor at a high school and felt she was wasting a lot of time manually checking and filling out students graduation requirements. She felt there was a way to automate this task and asked me to make a program that could do it, so I did.

Basically it works like this:
1. Load in a high school transcript and read all of the classes the student has taken and passed
2. Compare those class codes to a database of classes and what credits they count for
3. Fill in the classes that only have one possible credit they can count for
4. Try to fill in classes that count for multiple types of credits, mark which ones couldn’t be filled in automatically
5. Display the processed credits, allow for manual overwriting
6. The results can then be exported to a new pdf which shows all of the credits a student currently has and needs

This program probably saves a few minutes per student, which means this program could potentially save the guidance counselors hundreds if not thousands of minutes per year.

Below is a video demonstration of the program:


This project was made using C#, with Windows Forms being used to create the UI. I used sqlite as the database because I wanted to keep the program as portable as possible. I also used the iTextSharp library for processing the pdf files.

If you want to view the source code for this project you can see it on my github.

My main challenge with this project was working with pdf files. The iTextSharp library helped a lot for reading information off of them, but when trying to output to pdf I didn't have text fields that I could just fill out. The way it exports is by stamping text on top of the blank box sheet pdf at a very specific coordinate for each box that is supposed to be filled.

As for possible improvements:
• The UI could probably be more visually appealing
• It should have a smarter way of filling in classes that count as multiple types of credits
• The database should be hosted by the district instead of being portable