It's your typical late study night. There may be 1 assignment due tomorrow, or a million, but who knows? We're searching through Google Classroom, online calendars, written agendas, asking friends. The homework is all over the place. Next thing you know, you forget there's a big test the next day! What if all your assignments can be consolidated in one place?

What it does

All In One extracts homework from Google classroom into an easy to use interface where you can add your own tasks, homework, and reminders. It scrapes Google Classroom and stores your own reminders in a database so you never lose them.

How we built it

We built it using HTML/CSS and JS, with a backend in Python utilizing Selenium for the extraction of data from Google Classroom. The frontend also utilized FullCalendar, an open source JavaScript/jQuery plugin in order to format the calendar and list of assignments.

Challenges we ran into

We ran into challenges extracting data from Google Classroom because of their setup and lack of an API to use. We had to parse the data ourselves because of limitations in Xpath and selenium that made it hard to extract data that is grouped together. However, we are proud that we overcame these challenges and finished the project.

Accomplishments that we're proud of

We are proud of creating that is useful to us students and would have a large impact. Homework has been forgotten countless times and students are often too lazy to write it down. By creating something where it is dead simple to have homework consolidated in one place, we hope it can positively affect other students as well. We are also proud of figuring out how to program in HTML/CSS and JS efficiently, having not used it much in the past.

What we learned

We learned how to use jQuery to enhance the website's design as well as strengthened our skills in HTML, CSS, and JavaScript. For the backend, we learned how to use Xpath and selenium to parse data.

What's next for All In One

Next we would also scrape Turnitin, Edpuzzle, and other assignment locations that would take a similar process. In addition, we will add a notification system where students are notified of what assignments are due and when teachers post new assignments.

Share this project: