Many people today have developed a myriad of unhealthy habits, negatively affecting their quality of life. 'Do or Donate' attempts to motivate people to adopt healthy habits over time, with a focus on accountability.
What it does
When you create an account, you can add a 'Watcher' (someone close) to monitor your progress. 'Do or Donate' provides a list of hand-picked daily habits for you to adopt. When you finish a habit, the Watcher will receive a notification and be able to approve or decline your request based on their judgement. If the Watcher does not accept all of your habits by the end of the day, you will be prompted to donate to a charity. This is a win-win situation. If you complete your daily habits, you successfully stepped towards a happier and healthier state, both mentally and physically. However, if you fail to complete your habits, a donation will be sent to those in need.
How we built it
We built the app using the Kivy graphical library in python and stored user information in a localized database. For donations, the user will be redirected to PayPal.
Challenges we ran into
We were all new to Kivy, and some of us new to python, and therefore had to familiarize ourselves with their various libraries and syntaxes. The challenge Kivy brought caused us to rethink many of our original design ideas. Since this was our project a team, we did come in with a whole lot of experience pacing ourselves, so there was a slight crunch towards the end.
Accomplishments that we're proud of
We are proud of our input validation, sleek UI, good imagination, and our ability to work around the issues that Kivy gave us.
What we learned
This experience definitely helped us work together as a team, especially because it was one of our first formal experiences. It also helped our ability to formulate tangible results from mere ideas. We also learned a lot about Kivy in python which we may use in the future.
What's next for Do or Donate!
First, we need to attend to some careful bug fixing and reworking of the kinks. Next, we want to implement native PayPal support, and are considering migrating the project to another framework. We will also consider adding time-sensitive tasks (morning, afternoon, night) for a more balanced and interactive experience.