As college students, one of our biggest problem is procrastination and the lack of motivation when pushing through a long semester. Subjects start feeling boring and we find ourselves drifting off in class more and more until we decide not to even show up or to just "study later". ThereYet is the solution to fix this problem.
What it does
ThereYet allows students to create an account or sign in and import all their data from Pearson. The user can then input all class information such as time and location.
When class is about to start, the student will receive a notification, which they can choose to either skip class or validate their attendance. The app will check the user's location compared to the classes location and make sure they are actually within a certain radius of the class. If the user is on time or made it successful, they will be awarded points which they can spend in the in-app shop.
The shop system is built from sponsors who want to help provide the motivation students need to push their way though the semester. Every year fast-food companies, local businesses and corporations donate funds and scholarships for students world wide. With their help of providing their own products or funds, the incentive is even higher to use an system like this.
Users can also view detailed statistics and graphs of their progress.
How we built it
ThereYet was built with Swift on iOS and uses the Pearson API and Parse for cloud storage and device syncing. There were several UI based libraries used along Map Box for the map and geocoding service.
Challenges we ran into
CoreData and storing to the device was definitely an issue for us. It became unreliable at times and would throw errors that took us a while to figure out. There were several other complicated features such as being able to login with multiple APIs and syncing to Parse but with enough planning and the way our app was already structured, we figured it out. Also MapBox, they don't support iOS too well in their newest SDK like the lack of features such as dragging markers, and getting the location by tap on the map. Their REST API is great and Android and JS have great support, but iOS was kind of lacking.
Accomplishments that we're proud of
Overall, we are very pleased with the design and codebase of the app. The app uses a custom Syncing Manager to make sure all data can be pushed across all the user's device's. There are also many other structures which makes the app highly scalable such as the in-app shop, schedule management and the way we access APIs.
What we learned
- Fully read documentation: Parse provided a system that easily stores data to the phone's database which would of saved us quite some time
- CoreData can be unreliable at times so a wrapper class is necessary
- Working with others, plan your work: there were several times that we completely changed each others functionality, even though they both work the same way
What's next for ThereYet
This kind of system is highly scalable and can be used to help learners learn even more. With this data, we can make sure the user is actually paying attention and focused in class, along with making sure students are constsntly setting study times actually studying during them.