Skip to content

TheUnknown550/Habit-Tracker-Web-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

9 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒŸ Habit Tracker Web App

A beautiful, modern web application to track your daily habits with gamification elements, built with React and Vite. All data is stored locally in your browser using localStorage, ensuring privacy and offline functionality.

๐ŸŒ Live Demo - Try it now!

Habit Tracker Demo

๐Ÿ“‹ Table of Contents

โœจ Features

  • ๐ŸŽจ Beautiful UI: Modern design with gradients, animations, and smooth transitions
  • ๐ŸŽฏ Add, Edit, and Delete Habits: Easily manage your habit list with an intuitive interface
  • โœ… Daily Checklist: Interactive habit completion with celebratory animations
  • ๐Ÿ”ฅ Streak Tracking: View your current streak for each habit with achievement badges
  • ๐Ÿ“Š Progress Visualization: Animated progress bar with color-coded completion levels
  • ๐Ÿ“… Calendar View: Monthly calendar showing habit completion history with visual indicators
  • ๐Ÿ“ˆ Statistics Dashboard: Comprehensive analytics including completion rates, top habits, and progress charts
  • ๐Ÿ’พ Data Management: Export/import habit data and clear all data with backup functionality
  • ๐ŸŽ‰ Motivational Messages: Dynamic encouragement based on your progress percentage
  • ๐ŸŽญ Random Icons: Each habit gets a fun emoji icon for better visual organization
  • ๐Ÿ’พ Local Storage: All data persists between sessions without needing a backend
  • ๐Ÿ“ฑ Responsive Design: Works seamlessly on desktop and mobile devices
  • โšก Smooth Animations: Fade-in effects, hover animations, and completion celebrations

Tech Stack

  • Frontend: React 19.1.1 with Vite for fast development and building
  • Styling: TailwindCSS 4.1.14 for modern, utility-first CSS with custom animations
  • Data Storage: Browser localStorage (no backend required)
  • Language: JavaScript (ES6+)
  • Icons: Unicode emojis for cross-platform compatibility

๐Ÿš€ Quick Start

Get started with the Habit Tracker in just a few minutes!

git clone https://github.com/TheUnknown550/Habit-Tracker-Web-App.git
cd Habit-Tracker-Web-App
npm install
npm run dev

Then open http://localhost:5173 in your browser.

๐Ÿ“– Detailed Installation Guide: See INSTALLATION.md for comprehensive setup instructions, troubleshooting, and alternative installation methods.

๐Ÿ“š Documentation

๐ŸŒ Deployment

This app is automatically deployed to GitHub Pages using GitHub Actions.

Live Demo: https://theunknown550.github.io/Habit-Tracker-Web-App/

Automatic Deployment

Every push to the main branch triggers an automatic deployment:

  1. GitHub Actions builds the app using npm run build
  2. The built files are deployed to GitHub Pages
  3. Your site is live within 2-3 minutes!

Manual Deployment

You can also trigger a deployment manually:

  1. Go to the Actions tab in your GitHub repository
  2. Select the Deploy to GitHub Pages workflow
  3. Click Run workflow

Setup GitHub Pages (First Time)

If you fork this repository, enable GitHub Pages:

  1. Go to your repository Settings
  2. Navigate to Pages (under "Code and automation")
  3. Under Source, select GitHub Actions
  4. The next push to main will deploy automatically!

See INSTALLATION.md for more deployment options.

๐ŸŽฎ Usage

The app features four main sections accessible via the navigation tabs at the top:

๐ŸŽฏ Habits Tab

  1. Adding a Habit: Use the beautiful "Add New Habit" form to create a new habit. Each habit automatically gets a fun emoji icon!

  2. Tracking Progress: Click the circular icon next to each habit to mark it as completed. Watch the celebratory animation and see your progress bar update in real-time!

  3. Viewing Streaks: See your current streak displayed below each habit name. Earn achievement badges for 7+ day and 30+ day streaks! ๐Ÿ”ฅโญ๐Ÿ‘‘

  4. Editing Habits: Click the "โœ๏ธ Edit" button next to a habit to modify its name or description.

  5. Deleting Habits: Click the "๐Ÿ—‘๏ธ Delete" button to remove a habit from your list.

๐Ÿ“… Calendar Tab

  • View your habit completion history in a monthly calendar format
  • Green dots: All habits completed that day
  • Yellow dots: Some habits completed that day
  • Gray dots: No habits completed that day
  • Navigate between months and jump back to today

๐Ÿ“Š Statistics Tab

  • Key Metrics: Total habits, active habits, longest streak, monthly completion rate
  • Top Performing Habits: See which habits you complete most consistently
  • Progress Charts: Visual representation of your last 14 days of habit completion

๐Ÿ’พ Data Tab

  • Export Data: Download your habits and progress as a JSON backup file
  • Import Data: Upload a previously exported backup to restore your data
  • Clear All Data: Permanently remove all habits and completion history

๐Ÿ“ˆ Gamification Features

  • ๐ŸŽฏ Achievement Badges: Special indicators for impressive streaks
  • ๐ŸŽจ Dynamic Progress Colors: Progress bar changes color based on completion percentage
  • โœจ Celebration Animations: Satisfying animations when completing habits
  • ๐Ÿ’ฌ Motivational Messages: Context-aware encouragement throughout your journey
  • ๐ŸŽญ Visual Icons: Each habit gets a unique emoji for better visual organization

Project Structure

src/
โ”œโ”€โ”€ components/
โ”‚   โ”œโ”€โ”€ AddHabitForm.jsx       # Form for adding new habits
โ”‚   โ”œโ”€โ”€ CalendarView.jsx       # Monthly calendar with completion history
โ”‚   โ”œโ”€โ”€ DataExport.jsx         # Data management (export/import/clear)
โ”‚   โ”œโ”€โ”€ HabitItem.jsx          # Individual habit component
โ”‚   โ”œโ”€โ”€ HabitList.jsx          # List of all habits
โ”‚   โ”œโ”€โ”€ ProgressBar.jsx        # Daily progress visualization
โ”‚   โ””โ”€โ”€ StatisticsDashboard.jsx # Analytics and statistics
โ”œโ”€โ”€ hooks/
โ”‚   โ””โ”€โ”€ useLocalStorage.js     # Custom hook for localStorage persistence
โ”œโ”€โ”€ App.jsx                    # Main application with tab navigation
โ”œโ”€โ”€ index.css                  # Global styles with Tailwind imports
โ””โ”€โ”€ main.jsx                   # Application entry point
public/                        # Static assets (currently empty)

Contributing

Contributions are welcome! This project is open-source and beginner-friendly. Here's how you can contribute:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature-name
  3. Make your changes and test them
  4. Commit your changes: git commit -m 'Add some feature'
  5. Push to the branch: git push origin feature/your-feature-name
  6. Open a Pull Request

Ideas for Contributions

  • ๐ŸŒ™ Dark Mode: Toggle between light and dark themes for better user experience
  • ๏ฟฝ PWA Features: Progressive Web App capabilities for mobile installation
  • ๐Ÿ”” Browser Notifications: Optional reminders for habit completion times
  • ๐Ÿ“Š Advanced Analytics: Trend analysis, habit correlations, and predictive insights
  • ๏ฟฝ Habit Categories: Group habits by categories (Health, Productivity, Learning, etc.)
  • ๐Ÿ“ค Data Export Options: Export to CSV, PDF reports, or shareable formats
  • ๐Ÿ”„ Habit Templates: Pre-built habit collections for common goals
  • ๐Ÿ‘ฅ Social Features: Share achievements and compete with friends
  • ๐ŸŽต Sound Effects: Customizable audio feedback for habit completions
  • ๏ฟฝ Weekly/Monthly Goals: Set and track completion targets
  • ๐Ÿ”ฅ Streak Challenges: Community challenges and streak competitions
  • ๏ฟฝ Habit Insights: AI-powered suggestions for habit improvement

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements

  • Built with Vite and React
  • Styled with TailwindCSS
  • Inspired by various habit tracking apps for a simple, effective approach

About

A beautiful, modern web application to track your daily habits with gamification elements, built with React and Vite. All data is stored locally in your browser using localStorage, ensuring privacy and offline functionality.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors