dohsimpson 8ac1acb7f7 Fix
2024-12-31 15:13:31 -05:00
2024-12-31 15:05:49 -05:00
2024-12-31 15:05:49 -05:00
2024-12-31 13:58:14 -05:00
2024-12-31 13:58:14 -05:00
2024-12-30 13:57:28 -05:00
2024-12-30 13:57:28 -05:00
2024-12-30 13:57:28 -05:00
2024-12-30 13:57:28 -05:00
2024-12-31 15:05:49 -05:00
Fix
2024-12-31 15:13:31 -05:00
2024-12-30 13:57:28 -05:00
Fix
2024-12-31 15:13:31 -05:00
2024-12-30 13:57:28 -05:00
2024-12-30 13:57:28 -05:00
2024-12-31 15:05:49 -05:00
2024-12-31 15:05:49 -05:00
Fix
2024-12-31 15:13:31 -05:00
2024-12-30 13:57:28 -05:00
2024-12-30 13:57:28 -05:00
2024-12-31 15:05:49 -05:00
2024-12-30 13:57:28 -05:00

HabitTrove

HabitTrove is a gamified habit tracking application that helps you build and maintain positive habits by rewarding you with coins, which you can use to exchange for rewards.

⚠️ Important: HabitTrove is currently in beta. Please regularly backup your data/ directory to prevent any potential data loss.

Try the Demo

Want to try HabitTrove before installing? Visit the public demo instance to experience all features without any setup required. (do not store personal info. Data on the demo instance is reset daily)

Features

  • 🎯 Create and track daily habits
  • 🏆 Earn coins for completing habits
  • 💰 Create a wishlist of rewards to redeem with earned coins
  • 📊 View your habit completion streaks and statistics
  • 📅 Calendar heatmap to visualize your progress (WIP)
  • 🌙 Dark mode support (WIP)
  • 📲 Progressive Web App (PWA) support (Planned)

Getting Started

Prerequisites

  • Node.js 20 or later
  • npm package manager

Installation

  1. Clone the repository:
git clone https://github.com/dohsimpson/habittrove.git
cd habittrove
  1. Install dependencies:
npm install --force
  1. Start the development server:
npm run dev
  1. Open http://localhost:3000 with your browser to see the application.

Usage

  1. Creating Habits: Click the "Add Habit" button to create a new habit. Set a name, description, and coin reward.

  2. Tracking Habits: Mark habits as complete on your dashboard. Each completion earns you the specified coins.

  3. Wishlist: Add rewards to your wishlist that you can redeem with earned coins.

  4. Statistics: View your progress through the heatmap and streak counters.

Docker Deployment

For production deployment, you can use Docker. The application data will be persisted in the data directory.

# Build the Docker image
npm run docker-build

# Run the Docker container
npm run docker-run

Contributing

Contributions are welcome! We appreciate both:

  • Issue submissions for bug reports and feature requests
  • Pull Requests for code contributions

For major changes, please open an issue first to discuss what you would like to change.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details.

Support

If you encounter any issues or have questions, please file an issue on the GitHub repository.

Description
Gamified habit tracker: collect coins by completing habits, and redeem for rewards.
Readme AGPL-3.0 1.7 MiB
Languages
TypeScript 98.8%
Dockerfile 0.4%
CSS 0.4%
JavaScript 0.3%