Inspiration

The inspiration for this project initially started as more of a mental health awareness app but slowly develop into a personal development app. The team was extremely passionate about growing in terms of being more healthy, studying more, and we took that into consideration when considering what application we were going to make. We really wanted to make something that we would actually use, and something that we can develop further in the future. We ended up with the idea of habit tracking since we all had bad habits we wanted to break and what better way to do it by creating good habits.

About Synitheia

Synitheia is a habit tracking app that allows users to create habits that will improve their lifestyle and make them more productive and healthier overall through creating habits. The application allows users to create an account on our database and after an account has been created, they are allowed to log in. Upon logging in, a user will see the statistics in terms of how many times they have checked in, as well as their mood rating over the course of the past year. This helps in determining if there is any direct connection between mood and habit completion. The fact that the app has an also account authentication manually built in gives the team so much flexibility in terms of where to take the application.

Technologies

We utilized multiple different languages to build this. We used React, CSS, JS and HTML for the front end, Flask for the backend, and MongoDB as our database. We stored all our information regarding the user information and habits list all within MongoDB. We had a library created solely for the purpose of accessing MongoDB and update/retrieve information from the database. The overarching goal of the app was to allow users to simply create a habit and have them be able to track this goal over a period of time. The more research we did into habits, we also realize that mood played a large emphasis on whether habits were completed or not. So the team attempted to build a mood tracker which would be A big part of the app for the ability of sharing habits, the team all agree to building something that creates accountability and the way to do that is to involve others. The user accounts and phone numbers would allow us to let users to share and work cohesively on a habit, motivating each other to keep on going in spite of tough times.

Challenges we ran into

The team ran into a lot of challenges, during the course of the project. One of the issues that we ran into initially was understanding MongoDB and how its clusters work as opposed to relational databases. After realizing how that work and understanding how to parse inputs, we were finally able to complete the library for accessing and modifying user and habit information. The other issue we had was dealing with sending information from and to the front end. Since our technology stack was not common at all, we ran into a lot of issues that would not arise otherwise.

Accomplishments

The Team is extremely proud of the fact that we were able to hit some of our target goals which was allowing registration and login authentication. The team was extremely proud of the fact that we were able to mesh MongoDB, React, and Flask together and get something that was actually functional. We were proud of the fact that we didn't give up even though we had numerous bugs that took several hours to complete.

What I learned

The team learned how MongoDB work and how to access/modify information within the database. The team learned how to create a fully functional login system, with user authentication and loading database information. The team also learn how to develop a fully scalable web app utilizing a multiple frameworks, technologies and Rest API for communications. We also learned about tunneling which allow our people to access our local server and interact with it.

What's next for Synitheia

The fact that we have an account authentication system gives us the potential of sharing habits. This means that we can have multiple friends working together on a habit which allows them to keep each other accountable. This is one of the things that the team is looking forward to build. Another potential feature would be adding a mini diary for each day, to track the correlation between daily emotions and performance of habits.

Share this project:

Updates