Inspiration
Many of our group have experience with the Pomodoro study technique and social networking platforms such as BeReal. We wanted to incentivize studying by encouraging students to network with each other on the same platform that they track studying on, allowing them to share details of their 'study sessions with others'.
What it does
The home page greets users, shows recent study sessions from other users within their friend network, and provides access to the page for starting a study session and the page for editing user profile settings.
How we built it
Coded the mobile app in Kotlin due to prior experience and its prevalence in Android app development. We made use of Jetpack Compose for UI, Firebase for backend DB, Kotlin Coroutines for suspending functions, and Java Date and Time for registering when sessions start and stop.
Challenges we ran into
The Pomodoro timer: integrating the device's local timer with the timer we were trying to build proved to be a challenge, as did automatically moving between the workTime and breakTime states. Database: trying to link the StudySessionScreen with our database for recording study session instances. CAMERA INTEGRATION: incredibly hard; getting our Kotlin app to use the device camera in any sort of way was a big big problem.
Accomplishments that we're proud of
Getting the camera to work was very satisfying. Picking up Android app development skills from scratch over a very short period. Coming up with an idea that we think genuinely has the potential to do well.
What we learned
All aspects of app development! Frontend, backend, and everything in between. While we were already familiar with Kotlin as a language, building the project using Android Studio and heavily utilising Jetpack Compose/Firebase was very new to us. None of us have ever properly built a major 'project' of this scale from scratch before, so working collaboratively and implementing our idea was enjoyable and eye-opening.
What's next for StudyReal.
We'd like to use Kotlin Multiplatform to branch out the project from just Android. Improving the camera system to make sure that users are in-frame for the duration of the study time. Creating a friend database so that users may have their friends show up on the feed on the main page. Improving the feed so that a few randomly-taken photos of the users are shared with their friends during a study session. Implementing a blacklist to disallow users from opening certain apps during the study time (similar to other study apps such as YPT).
Built With
- compose
- coroutines
- datetime
- firebase
- jetpacks
- kotlin
Log in or sign up for Devpost to join the conversation.