The goal-tracking app that keeps you accountable.
https://trac-kl33.onrender.com
See demo on YouTube: https://youtu.be/_61FuWa92Wo
Trac is a web application for tracking goals and holding users accountable through updates to their social circle. A user creates Goals with a due date, then gives each Goal any number of Habits, which are tasks that need to be completed weekly in order to meet the Goal by the Goal's due date. The user also chooses a day of the week for each Habit to be its Check-In Day. Each week on that day, Trac will prompt the user via email and within the app to send an update on the Habit's progress to their friends directly from Trac. Research shows that being accountable to others helps people follow through with goals. Trac builds that functionality right into the app.
- Password encryption using bcrypt
- Password strength, email, and username validation
- Authentication and authorization implemented using bcrypt and JSON web tokens
- Add Goals to dashboard and add Habits to Goals
- Choose what days of the week to practice your Habit (aka a Habit Routine)
- Pleasing, intuitive visual layout for Goal and Habits:
- When Habit is collapsed: see Habit name and whether or not today is a day in Habit's routine
- When Habit is expanded: change Habit, track the days Habits are practiced, and view all days in since Habit was created till Goal's due date.
- Receive email and in-app reminders for Check-In Days
- Compose and send Check-In Day emails directly from app
- Knock - An all-in-one app notification system and platform.
- Nodemailer - A module for Node.js applications to allow easy email sending.
- node.bcrypt.js - A bcrypt library for Node.js.
- node-jsonwebtoken - An implementation of JSON Web Tokens for Node.js.
- check-password-strength - A password strength checker based from Javascript RegEx.
- Vite + Express - A Vite integration module for Express.js.
- Render - A cloud application hosting service for developers.
Dara Yazdani - dara.s.yazdani@gmail.com • linkedin.com/in/darayazdani • github.com/dyazdani
Josh van Eyken - josh.vaneyken@gmail.com • linkedin.com/in/joshvaneyken • github.com/jvaneyken



