Inspiration

I had previously made a pretty simple but effective planner GUI application. Over the years of studying at UCI, I found it very very annoying that all these different professors used different websites to display what assignments were ongoing. For example, one professor used piazza to display most assignment information, another used Canvas, another used Gradescope, and another used their own personal website. I thought it would be really nice if all professors could just upload all their assignments on the same site, or at least just the basic information like start/due date and from there a link to where the specifics of the assignment is. On top of that I thought it would be a great factor if students could contribute to the site as well, providing tips to other students like "Make sure you start early" or along the lines of that. I was inspired by the issues caused by COVID 19, mainly the virtual education system. I'm trying to create an app where students can connect with each other more, and more importantly, so the students can connect with the professors more (the 'tips' portion). A lot of students find the virtual teaching style very difficult, so other students who are having a better time can provide advice to those who are struggling more, like suggesting applications that made their time easier and things like that.

What it does

Right now I have only been able to implement most of the backend. So I've successfully combined the SQL databases with the backend python code so that databases are created and updated successfully. There is a central database that contains the names of all the schools that have entries. Then each school has their own table in the central database that lists what courses have entries and what departments each course belongs to. Then finally each course has a simple database containing the assignments that will be done with columns: Name of assignment, start date, due date, brief summary, and tips. I currently have it so if a user searches for a school and the school is not available (i.e the school has no entries), then the user has a choice to "start" that school. Similarly, they can add a course to a school and modify course assignments, like adding new ones or editing start/due dates or tips.

How I built it

I used SQLite as the database system and Python as the software.

Challenges I ran into

Since I am doing this solo, the workload is way too much for me to write the backend, build a GUI, and implement it into a webapp. I also haven't really had any experience with SQL so I had to learn it from scratch.

Accomplishments that we're proud of

I'm quite proud of being able to successfully implement an efficient database system. Previously I had been using a simple Python library called pickle to store very basic data. I was able to learn enough SQL to be able to create and modify databases using Python in a very short amount of time.

What I learned

As above, I learned a lot of SQL. I also learned that these projects are very difficult to do alone, and while I'm very confident in my Python skills and I pick up new skills well, it's just too hard to do all of these at the same time in such a short period of time. Next time I will definitely search for a relevant skill set team to split up the workload.

What's next for Global course assignments

I really like this project, and I already know how to implement a GUI, but I would like to make the GUI a little more aesthetically appealing, so instead of Tkinter I'm going to use PyQt to implement the GUI. I am also going to implement this into an actual webapp, rather than just being client sided, so that others are able to use this as well.

Built With

Share this project:

Updates