Make Learning Magical

By: Erutech



By definition, Erudite means "having or showing great knowledge or learning." We made Erudite to incentivize student courseload with gamification inspired by monster raising games that create a connection between the player and charming, magical creatures.

As students ourselves, we believe that the instant gratification rewarded by something like Erudite can help students stay on track with school and make the process a little more fun.

What it does

Erudite connects to a student's Blackboard account* to monitor assignment grades. Students are rewarded Erudite based on their performance on assignments. The higher the grade, the more Erudite! Erudite is used to level up Eruditechi, magical study pals in the app.

As Eruditechi gain EXP through Erudite and level up over time, the Eruditechi go through different stages of evolution! Users can see their Eruditechi on the main page of the app and watch them grow.

* For this hackathon, we decided not to connect our application to the Blackboard API due to time constraints and our scope of knowledge having never used APIs. Instead we created mock data that emulates the data available by the Blackboard API.

How we built it

Erudite is a mobile java application we made using Android Studio.

Project development was split up into three main milestones. The first milestone consisted of planning, design/xml layouts, and database setup. The second milestone is where most of the code is really implemented. The third milestone consisted of UI touchups and code clean up.

Milestone 1

We designed our application using moqup so that we could quickly visualize our application and envision what we want and need. We also broke down features we wanted by quickly jotting down what features on boards. We also made roughly sketched design systems to have a better idea of how different different components within our app would interact or be inherited.

During milestone 1, set up a database using SQLite to store data locally on the mobile device.

Milestone 2

We split up work among our team to effectively get through implementing our code while remaining strategic to avoid getting bottlenecked on one area of the project by dependencies on another. One person might be in charge database management while another would be working on creating Erudutechi models and another on point system logistics.

We maintained code collaboration by making frequent updates to github and we managed our tasks through heavy communication over zoom/discord and issues/boards on github.

Milestone 3

For this milestone, we did last and final touches. This included UI touch ups and making things consistent and constrained layout wise. This also included code cleanup to remove excess imports, random print statements, etc. The project was also prepared for submission during this milestone.

Challenges we ran into

The past ~40 hours of Rowdy Hacks was definitely challenging but also served as a huge learning experience.

We went into Rowdy Hacks with the mindset of having fun creating while being able to dip our toes in something completely new. We saw this as an opportunity to introduce ourselves with new tools and areas of programming we may have never touched before.

Some challenges included having to familiarize ourselves with the Blackboard API, mobile app development, and database creation. Albeit challenging, these were all ideas we had little to no exposure to prior to this event so it we're glad we got to have the space to introduce ourselves to these ideas.

Accomplishments that we're proud of

Rowdy hacks consisted of a lot of firsts for us. First hackathon, first competition - we're all really proud that we did as well as we did. We came up with a cool and fun project and trying out software and design techniques none of us were familiar with, such as creating a mobile app for the first time, having our first look at APIs, and taking a deeper dive into databases like we haven't before.

What we learned

This entire project was a non-stop learning experience. We learned how to utilize software we have never used before, such as GitKraken, Android Studio, and DB Browser SQLite. Specific Subjects and Processes Include:

  • Basic knowledge about API's: what they are and how they work
  • Kotlin basic and database implementations (Go Bethany!!)
  • Using Java in mobile application development
  • Using a Database and linking it to a mobile application
  • Creating gifs and adding them to our mobile application
  • For Jason specifically, using Java for the first time ever (!!!) and creating a working version of the progress bar (Go Jason!!!)

What's next for Erudite

Firstly, combing through bugs and design features that need to be finished/fixed, then getting the blackboard API to connect to our application would be the next step. After that happens, we can link the school account to the application account and start pulling data to the app as intended.

Also, more species, evolutions, experience gaining opportunities, and a PvP mode could be added to the app later on. Features like these would further the experience of a rewarding gamification system to help make learning magical! After all, that is what Erudite is all about.

+ 29 more
Share this project: