22 ms·
I work at a local college and was recently tasked with collecting and aggregating instructor workload requests. We are in the planning stages of which courses e
by polishdude20 7y ago
I work at a local college and was recently tasked with collecting and aggregating instructor workload requests. We are in the planning stages of which courses each instructor will teach in the fall 2020 semester and my department wanted an easy way for instructors to submit their requests as well as be able to see what courses other teachers have requested and which are available.
Manually, if have to receive each spreadsheet or email of choices from each instructor and then add it to an Excel spreadsheet of some sort. This wouldn't have been live at all.
So I came up with a system.
I made an excel proposal template each instructor fills out with their name, school ID and the courses they want to teach as well as the hours they'd have available for each course. They then send it to my email which has a rule on it to send excel attachments to a Gmail account I own. This is because I can't access the API of outlook so I need to get outlook to send this stuff to my Gmail account. My Gmail account has a watch on it so whenever an email comes in to it, I get a push request on my server. My server reads the contents of the excel file and sends it to a database.
From the user side, if a teacher wants to access the full list of what courses each instructor has chosen, I've made a website in react with an excel like row and column layout where the columns are each teacher and the rows are the courses. Where the two meet we have the hours the teacher wants to teach for that course.
When this page is visited, it pulls from my database and populates the whole thing with the latest data.
The site can also export all the data to an Excel file to be implemented once all the teachers have made their choices.
I learned a lot with this project.
Learned react, setting up https, basic authentication, postgres, running a server and routing, and a while lotta other stuff. Super valuable to me in my learning even if I could have spent less time doing it manually!