A habit tracker inspired by github's contributions graph.
This is a work in progress, we are building it on stream:
🎥 Tune in on Twitch
- Fix user scoping on dashboard
- Fix bug where habits are double marked
- Accent color setting in user profile to change brand colors
- Support multiple stacked toast messages if you smash on a button
- Add notes a given track
- Add support for tracking specific units when completing
- Put recent dates on the day grid first at mobile size
- Add "mini grid" of recent month/weeks on habit index view
- Habit leaderboards
- Group habit tracking (like a team goal tracker)
- Public habit pages / toggle visibility
- Challenge friends to a habit battle
- Fix registration redirect bug
- Decide on a name -- Habit Grid it is -- habitgrid.com
- Support tracking units when a habit completed
- Design logo & landing page
- Finish hero text contrast / gradient
- Finish footer layout and styling
- Make landing page mobile friendly
- Launch it!
- Flash messages / toast notification components with Alpine JS
- Build profile component
- Build remove photo feature
- Make the photo circle a component of its own so they both update when it changes
- Add change password feature
- Fixed create form bug
- Paginate habits index page with livewire
- Upgrade to Livewire 2.x and Laravel 8.x
- Fix performance issue (it was debugbar + tooltip component having many views 😅)
- Explore replacing some events with
$wire
/ entangle - Convert habit controller to livewire components
- Build habit create form
- Build tooltip when hovering over a given day on the grid
- Fix bug in grid display to sort by start of week (
startOfWeek()
in carbon?) - Add a way to track a habit for a certain day
- Show grid filled in for days with a habit tracked
- Differentiate colors based on how many habits were done
- Build the "legend"
- Fix responsiveness of day grid
- Write some tests for day grid component
- Navigate between days easily (prev/next buttons)
- Habit edit form
- Optionally scope day grid to a single habit for details page
- Make "stream" badge dynamic (or try)
- Improve current streak relation so we don't need first
- Fix current streak query (date calculation is off)
- Adjust streak query to only look for days prior to today
- Add streak to livewire component? Nested components? 🤔
- At mobile size, put toggle buttons in a popup, also make dots bigger?
- Make stat tiles dynamic / decide what to do with them
- Refactor how the day grid handles the habit ID
- Refactor how the selected / week days work within
week-view
- Add loading state when changing days
- Finish hooking up tracking data to week tiles
- Combine dashboard and habits index and make create form toggleable
- Build navbar + responsive version
- Make proper dashboard page with stat tiles
- Upgrade TailwindCSS to 1.7 🚀
- Fix modal margin bug at mobile size
- Fix "tracked in past week" to get total habits, not tracks
- Fix tooltip alignment
- Add additional info about which habits are tracked
- User authentication
- Build a way to log out
- Build a login form
- Add validation to register and login forms
- Add a confirmation dialog to log out button with alpine
- Finish scoping of user system
- Add account credentials not found error to login component + link to register
- Fix tests