Inspiration
As we all know, school is hard. It doesn't need to be harder, like having to click through powerschool tabs just to see our grades for each class. Even prioritizing what homework to do first can be tedious. Each of these minor inconveniences can add up, leading to demotivation for students and an overall loss of productivity. Faced with such issues, we decided to create GradePortal, a one-stop location for many of a student's grade-related needs.
What it does
GradePortal allows students to check their grades, check missing assignments, and track their homework all in once place. Instead of having each class's grades on a separate page, all grades and classes can be viewed from a single location, saving time and students' sanity. Furthermore, students can calculate their grades with hypothetical new assignments, or their grades after possible test corrections. Students can also view missing work for all classes, so that they know what to work on. Most importantly, GradePortal implements a revolutionary "Upcoming Assignments" section, where students can enter future assignments (like homework or projects), along with the expected point value of the assignment. Using this and other information in a heuristic process, GradePortal calculates the priority level of the assignment. In an extreme example, if an assignment is a small-scale homework assignment due in two weeks, versus a large project due tomorrow, GradePortal will tell students to prioritize the large project. We hope that GradePortal allows students to get their information faster and prioritize their work more efficiently so that they can perform better in school and have more time to engage in their hobbies.
If all hope is lost, it also includes a "Grade Grub" feature that generates an email that students can send to their teacher in an attempt to boost their grades up.
How we built it
GradePortal is built on Python3 and Flask. It hooks into PowerSchool through an impromptu API made with the requests module, and the frontend uses bootstrap and material design elements for its elegant feel.
Challenges we ran into
- Designing the frontend
- Incorporating the frontend with the backend
- 500 Internal Server Errors REEEE
Accomplishments that we're proud of
- Somehow finishing before the end of the competition
- Completing the hackathon with only two members
What I learned
- How to Bootstrap + Material Design
- What a hackathon is like
- Flask
What's next for GradeBuddy
- Add authentication screen for users to log in
Log in or sign up for Devpost to join the conversation.