-
Notifications
You must be signed in to change notification settings - Fork 2
Vision Statement
Welcome to the HabitTracker Wiki!
HabitTracker is a web application designed to provide management assistance to users and their activities. The application will schedule user activities based on desired routine, and it will alert the user similar to a calendar application. Where it diverges however is that the application will interact with the user to understand user consistency with activity completion and time completed to interpret their success in maintaining their habit, functioning as a productivity tool. Furthermore it will provide this data to users in user-friendly manners with comprehensive statistics to allow them to quantify the consistency of their activities in a tangible way, providing an analytical as well as motivational approach to their habits.
This application’s balance between familiarities of calendar applications and unique qualities of consistency management will make it friendly to new users while distinguishing itself, as while there are applications that can be used to try helping with consistency such as reminder applications or the aforementioned calendar, they lack the application’s motivating interaction with the user. This puts the project in a sweet spot of safety and significance for the stakeholders as it isn’t too niche yet it isn’t obsolete, and for the user community this provides a service they haven’t had but one that’s intuitive enough to understand quickly.
The competition is moderately full of planning products that have a subset of the features that HabitTracker would have. For example, Google Calendar is a strictly calendar app which will have certain similarities (it allegedly has a market share of 18.76% of the calendar market), and the Forest: Focus for Productivity app is an activity-planning and success-geared motivational app that has similar goals, albeit not exact features, in common. Overall, an analysis of the competition yields a plethora of apps with slightly overlapping sets of features geared with different approaches at helping organize the user.
Google Calendar is an exceptional digital calendar application, housing an immense arsenal of features from being able to add locations and other people to events as well as utilize Google’s thorough set of applications exemplary of Google Meet integration for video conferencing. Forest: Focus for Productivity is an excellent focus and motivation application that excels at using minimalistic aesthetics to provide a peaceful experience to the user that helps them remain focused while also creatively designing a timer that represents passage of time in the form of a growing forest, which visually is appealing but also helps to provide specific statistics on the user’s focus rates.
HabitTracker has similar aspirations to these two applications in that it has an integrated calendar and it’s focus is to aid in user productivity, although it takes these fundamentals in a unique direction where it aids the user in productivity of calendar events, being able to combine the specific scheduling of a calendar app with the work consistency assistance of a productivity app in a package where users will be able to schedule their own specific events with their own recurring rates but furthermore will be motivated by the app and be provided detailed representations of their consistencies with their responsibilities. An application centralized to a calendar yet designed to assist in productivity consistency is a concept that is not only nuanced, but one with great use cases that may greatly improve the lives of its users.
The current project stakeholders includes the development studio, Ascension, who consist of Jay Shrestha, Becky Chen, Zack Gordon, Adam Ayan, and Elan Smolar Eisenberg. They are all Computer Science majors, with Becky and Elan also dualling in Information Technologies & Web Services, Adam in Mathematics, and Jay in Games Simulations Arts & Sciences. They are all currently junior college students taking their summer Arch semester with one of their courses being Software Design & Documentation, the course running the project that this application is being developed as. The stakes of Ascension consists not only of intending for a positive reception of the project to receive a high grade for the course, but also to develop an interesting application that can utilize current and new skills in a project in a cohesive and applicable package to showcase development abilities of the individual team members but also their efficiency in a group project.
Other stakeholders include the staff of the Software Design & Documentation course in Rensselaer Polytechnic Institute of Summer 2023, including its professor who is also the team instructor and the other mentors and TAs affiliated. Given that the application is a project of this course, its success and quality mirrors that of the course itself, functioning as a case study of the course’s overall ability in educating software developers reflective of the abilities of the professor, mentors, and TAs.
The major features of the completed project will be a range of the site’s dynamic interactions with the user depending on the consistency of their activities, minding the user’s history as well as providing data collected from the user for their own examination. These may include: a display, likely in calendar format, of the user’s upcoming activities; charts displaying the user’s most recently updated activity history; a “schedule” button functioning as a feature allowing the user to schedule upcoming events or tasks; a visible “streak counter” for the latest number of activities completed in a row successfully; and more features to especially focus on evaluating and promoting success for the user.
The technologies used to develop this application consists of the React.js framework for the front end development which works with Node.js and NPM. Additionally it will make use of the MariaDB database for data storage as the back end development. The server will be hosted on a Virtual Machine, and the program will be developed on Team Ascension’s own personal computers.
One major risk of the project is the development team’s currently limited collective experience with - as well as the plain difficulty of - relational databases; which are required to provide users a corresponding set of their own habits. Perhaps a greatly concerning challenge involved is the user consistency gauge process from acquiring the data, storing it, and interpreting it in meaningful ways, of which the exact list of relevant technologies and libraries are currently undecided, as is the team’s approach to this. All of these risks are fundamental to the project’s core; thus failure to properly design and implement such systems would be detrimental to the foundation of the project itself. In other words, if we are unable to properly develop these difficult systems, the application will be incomplete as per its original design, and will lack the many defining features that would have given it distinction against competition. Another risk is a lack of experience in web development from half of the team, and if this is not mitigated it will severely damage the project’s trajectory as theoretically not even half of the project could be complete given necessary dependencies.