Inspiration

Because many classes use multiple portals for assignment submission, we thought it would be incredibly convenient to collect all assignments and their due dates into one central location: a calendar.

What it does

Our project (AIM) imports assignments from two popularly-used portals -- Canvas and GradeScope -- into a calendar. This allows the user ease-of-access and convenience to view all of their assignments in one place.

How we built it

We built AIM by integrating the Canvas API, webscraping off of GradeScope, and exporting all of our assignments into a MySQL database, where we put them into a calendar.

Challenges we ran into

  • GradeScope does not provide an API. We needed to get assignment data here by web scraping.
  • Our GradeScope web scraping was written in python, but our code for writing assignments into the MySQL database was written in JavaScript. We had to translate our web scraping into JavaScript.
  • The date formats for GradeScope and Canvas needed to be changed into ISO format in order to be read and put onto the calendar.
  • We needed a way to have the user input their login information for each portal instead of hardcoding it inside our program.

Accomplishments that we're proud of

  • Many of us were first-timers for hackathons. We are proud that we were able to create a finished product.
  • We used programs and techniques that are commonly used in the industry (i.e. web scraping, MySQL, GitHub).

What we learned

  • We gained first-hand experience on what it was like to work with a team on a project. This meant dedicating our time and commitment to deadlines, meeting our goals, and dividing each problem into smaller subproblems that could be more easily solved.
  • Before taking on this project, we only had beginner knowledge of JavaScript, Python, and MySQL. Now, after having built a project mainly in these languages, we have gained more under our toolbelts.

What's next for Assignment IMporter (AIM)

Currently, we only have two portals on AIM. We AIM to have more such portals in the development of this project, such as Google Classroom or BlackBoard.

Built With

Share this project:

Updates