We created a mood tracker application that allows users to take control of their own data. Users can self-host a MongoDB instance and interface with it using our code to keep track of their mood (a range from happy to sad), hours of exercise, hours of sleep, and cups of coffee in the last day.
We've released it with a permissive open-source license (MIT) to encourage other people to take control of their data, and keep track of their mental health without having to pay for an application.
Use the branch to get access to a react-based web-client. Use the branch to get access to the MongoDB-powered data store.
Or, write your own frontend to interface with the API!
You just need a place to host the database!
Challenges We Faced
We split up into two groups to tackle two sides of this application. We wanted to make sure our client was detached from the backend; getting from a prototype to a place where we could cleanly test functionality in the client took work. The biggest challenge came down to communicating endpoint expectations and clarifying how our JSON payloads (for both requests and responses) would interact.
Encouraging developers to build upon the framework we've laid out is a great start! That said, we have more features in mind. We entertained creating a cross-platform suite of clients and thought about using Google's Dart/Flutter combo to create a robust native mobile client.