Inspiration

Well, we were wondering how to make school productivity fun. We used the concept of "game-ifying" turning your assignments in early to create an incentive for doing so besides just being productive.

What it does

Grabs due dates and submission times from Google Classroom API and converts it into a score which is then put into a leaderboard comparing against fellow classmates. The score could then be used for other incentives like homework passes or something, or it could just be a number. People love increasing numbers, as evident by games like Cookie Clicker or Adventure Capitalist.

How we built it

We built in in Python, which calls the Google Classroom API and does it's magic there. The Python is running a Flask server, which receives calls from a React front end.

Challenges we ran into

The Google API is not intuitive. At all. Finding where information is stored within it, extracting it, getting OAuth to cooperate, finding the right scopes (which were out of date in the docs) etc. was a real pain in the neck. Additionally, being our first time running a Flask/React combination, we ran into some API problems but nothing too major on that front.

Accomplishments that we're proud of

Having at least a demo.

What we learned

  • Familiarizing yourself with an API beforehand is important. Blindly going in is a bad idea.
  • Scope is important. We should probably have reduced scope earlier in the project.

What's next for ProductivityScore

Actually getting it working. What we have now is a hardcoded example of data that we pulled from the API, but it isn't working live.

Built With

Share this project:

Updates