Hi there, we are Rohit Mandyam and Karan Raj. We are doing a full stack web development course at AttainU.
We have created a Habit-tracking web application. The main idea of this application is to allow the user to track their habits and analyze them to improve their lifestyle.
What is the project about..
In this application –
- Users can create their own account and access it using login credentials.
- Users can perform CRUD operations on dashboard for their habit data.
- Users can add reminders to their habits to remind them of the tasks they need to complete.
- Once, the tasks are done the user can mark them as complete.
- Tracking functionality of habits for user self analysis .i.e. to keep track of how they are performing their tasks.
What are you trying to build?
This project which we made has functionalities like Register and Login of users, After registering and logging in, the users can create habits, update, delete and track the habits which are created.
We have used Handlebars as a template engine and Bootstrap and CSS for styling the front-end.
For the backend, we used Node Js and Express. Node js is a server side platform for easily building fast and scalable network applications. Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications.
The data required for the application gets stored in a database. We have used MongoDB to store the data. MongoDB is a nosql database. MongoDB is simple for developers to learn and use, while still providing all the capabilities needed to meet the most complex requirements at any scale. MongoDB stores data in flexible, JSON-like documents, meaning fields can vary from document to document and data structure can be changed over time. The document model maps to the objects in your application code, making data easy to work with.
Issues faced and how they were overcome
Issue: User specific habits were not getting rendered, i.e. Anyone can see anyone’s habit.
Solution: We created an additional field in habit data to store User ID and used that by comparing it to user’s data. Later we came to know, we could have stored user ID in session also, so that this process can be done on the client side itself.
Improvements in the future
- Adding Calendar functionality for Tasks made and their due dates.
- Reminder notification will be shown every time the users log in until they have completed their tasks.