Google has added quite a few new capabilities to Android since I first started working with the platform. My goal is to build an app from the ground up while using the latest tools and best practices.
To start, the app I build will be pretty basic. Essentially it is a journaling app that could grow to be a social network. Each day the user can enter one journal entry for the prompt "Today I Learned...".
It can be funny like the TIL meme:
But my vision is that it would be used by avid learners to highlight a skill they improved. For example, I might have an entry about my latest understanding of Android Rooms. A user could then scroll through the days and see everything they have been learning.
More advanced features might include:
- The ability to back up entries and sync across multiple devices
- Different message types like audio, short video clips, or images
- Sharing entries through different platforms (e.g. Twitter)
- A calendar to more easily navigate to older entries
- Social features that show other people's published entries
Where applicable, I want to try and use the following while building this app:
- Test-Driven Development
- Kotlin
- Databinding Library
- Room Persistence Library
- ViewModel
- Navigation
- WorkManager
To follow the development of this app in more detail, be sure to check out the winf.io blog. The first post summarizes the project.