Every end of the week, we receive our class schedule in the form of a PDF uploaded to a Dropbox folder. We receive this link as an announcement on the school's Facebook page.
The process seems simple: enter the school's Facebook page, check for the latest post, enter the link, and search for your class schedule among more than 15 classes. However, the issue arises when we can't download the schedule PDF without having other classes' schedules. Additionally, attempting to screenshot the schedule results in a blurry image. Furthermore, while trying to obtain the schedule, I may become confused with other posts on Facebook, leading to a loss of focus for an hour or more.
For these reasons, I thought, "Why not create a Python script alongside a webpage to solve this issue for me?"
So... to solve this issue, I need to address these technical issues:
Addressing the second issue, I utilized a variety of packages to first open all the PDFs and analyze them to search for the class names. Finally, the script renamed each PDF with its corresponding class name.
Subsequently, I developed a straightforward webpage featuring an option input containing all the class names (extracted from the PDFs resulting from splitting the main school schedule PDFs). I integrated a simple logic so that whenever a student selects one of the options (class names), their schedule is displayed using Flask.
Finally, for the last step of making this solution live, I deployed it using Azure web services. I installed necessary packages and executed the planned deployment, and everything functioned as intended.