Thanksgiving is a time of celebration and as the name suggests, showing gratitude and sacrifice for the blessings of the past year. People often get together during this period, inviting their family members from all around. This year, all that changed due to the COVID-19 pandemic. We are confined to the four walls of our home and in the screens of our phones and television sets. That can only keep us occupied for so long before we start getting bored of it or even getting annoyed by it. This can make us depressed, and salty. What better way to feel better than to show your gratitude. Gratitude is an antidote to depression and improves one’s self-esteem. It has quite many scientifically proven benefits too. When someone does something good for us, we feel cared for and it encourages us to do reciprocate the same, and thanksgiving is the celebration of this.
One of the easiest ways to practice gratitude is to maintain a gratitude journal, wherein you note down daily what all you feel grateful about in your life. So we decided to build an enhanced web-app version of the same, to improve the experience of effectively maintaining a gratitude journal.
The term ‘Dankemo’ translates to ‘gratitude’ in the Esperanto language. The main intention is to provide a bit of wholesomeness to the user, and to encourage one to spread wholesomeness through gratitude.
What it does
The Gratitude Journal, as the name suggests, is in its essence, a note keeping app. What this does differently is that it provides one a separate space for storing wholesomeness, i.e., it helps you remember gratefulness. The user can make entries in the journal on a daily basis, based on their experiences of that day. A sample entry would be “Helped dad wash the car” or “Successfully saved John Connor, and hence restored hopes of a bright future”. Keeping track of this helps you to relive those moments, and since these are wholesome moments, it does make one feel better about themselves and also motivates one to keep doing good deeds.
To keep the user motivated, we have included a feature that gives "Gratitude points" based on the regularity of one's entries. In effect, it encourages one to do good and feel good about oneself by celebrating upon the blessings they have received rather than fret about things that they may not have.
The IOT-based module helps support this practice. It detects whether the user has made the entry in the journal for the day within the time chosen during registration on the web-app and if not, it will automatically remind the user until they update the journal.
How we built it
We built the Dankemo web-app using HTML, CSS, JS and jQuery for the front-end. We also used Bootstrap for better UI. For the back-end, we made use of Flask and also SQLite for the database. The IOT device to remind the user was implemented using a simple buzzer and a Bolt microcontroller, which contains a WiFi-compatible ESP8266 module.
Challenges we ran into
Virtual collaboration was the major challenge that we faced, but we made effective use of Git and GitHub to overcome that. There were also some hurdles along the way while trying to implement search, sort and delete features for the entries in the table and we were luckily able to solve them by looking up some tutorials. We had some trouble calibrating the hardware module to work automatically alongside the Dankemo web-app which we were able to resolve after a series of trial-and-error.
Accomplishments that we're proud of
We pride ourselves in being able to complete the project, even though most of us have no prior experience. We’re proud that we were able to build a completely functional web-app with all the intended features and the supporting hardware module within the limited time frame. We are also glad that we could build a hack in the spirit of Thanksgiving that helps people effectively practice gratitude and understand its importance in their lives.
What we learned
Two of our team members were absolute beginners so we actually learned quite a lot throughout this journey.
Advaith – learned more about HTML, CSS, Flask and about using the Bootstrap library to create the front-end for the web-app.
Niraj – Learnt how to integrate Jquery in the frontend, learnt using Bootstrap to a great extent(modals, datatables etc) And Learnt handling of databases in Flask along with Flask MTV architecture.
Athul – solidified Flask and SQLite skills and learned to use jQuery and Jinja to provide sort and search functions in the data-table of the entries in the journal.
What's next for Dankemo
We’re planning to have a reward system as an incentive based on the gratitude points gained by the user for maintaining regularity.
Scope for technical improvements: 1) Improve UI, UX 2) Provide a pdf download option for all notes 3) Improve the security of the application 4) Provide a speech recognition feature to improve ease of use