Skip to content

lucaxue/habits

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Habits 📝

Description: Track your habits, one by one. A simple habit tracker application.

See: Video Demo

Contents

Why?

Habits shape our identities, and ultimately makes us who we are. I wanted to build a simple, minimal and distraction free habit tracking application.

Desired Features

Whilst ideating the features for the application, I came up with the following:

  • Start habits (set daily/weekly habits)
  • Complete habits
  • See stats (completion rates)
  • Get habit reminders
  • Organise Habits

However, as time was limited, I isolated the core functionality that would allow me to build a MVP

  • Start daily / weekly habits
  • Track habits
  • Stop / Edit habits
  • Basic authentication flow

UI / UX Design

For the UI / UX design, I have taken inspiration from the following sources:

  • Pixel True Habit Tracker UI - Figma (source)
  • Habit Tracker App UI by Hafid Fachrudin - Dribbble

Tech Stack

Front-end

React TypeScript TailwindCSS Capacitor

This is my first time building a native iOS application, without any experience with native frameworks. There are many cross platform technologies, however, and the main two contestants for me were React Native and Capacitor JS.

After trying both out, I ended up sticking with Capacitor as I found it to be the least restrictive and more flexible choice for me.

Back-end

Laravel PHP MySQL

I have built the RESTful API using Laravel, as it offers everything that you might need for backend development. I have taken this chance to follow DDD (albeit an overkill), and TDD as it provides instant feedback loops along with its many other benefits.

Development Setup

Please see the README.md files in the client/ and api/ directories respectively on how to setup up the development environment to run this application.