Skip to content

joeltikoo/habitarium

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Habitarium

A gamified RPG-style habit tracker that transforms your daily routines into epic quests. Level up your character, earn experience points and gold, and build better habits through an engaging adventure-themed interface.

Overview

Habitarium brings the excitement of role-playing games to habit formation. Instead of simply checking off tasks on a boring list, you complete "Daily Quests" to earn XP, level up your character, and accumulate gold rewards. This gamification approach makes building positive habits more engaging and sustainable.

Features

  • RPG Progression: Earn XP and level up your character by completing habits
  • Custom Quests: Create habits with personalized XP rewards (1-100 points)
  • Gold System: Collect gold coins for completing daily tasks
  • Progress Tracking: View statistics and completion history
  • Responsive Design: Works on desktop and mobile devices
  • Dark Theme: Clean interface with RPG-inspired styling

Technology Stack

  • Backend: Python Flask
  • Database: SQLite
  • Frontend: HTML5, CSS3, JavaScript

Installation and Setup

Prerequisites

  • Python 3.7 or higher installed on your system
  • pip package manager

Quick Start

  1. Clone the repository:

    git clone https://github.com/joeltikoo/habitarium.git
    cd habitarium
  2. Install dependencies:

    pip install -r requirements.txt
  3. Run the application:

    python app.py
  4. Access the application: Open your web browser and navigate to http://127.0.0.1:5000

Local Network Access

To access Habitarium from other devices on your network (such as your mobile phone):

  1. Modify the run configuration in app.py:

    app.run(host='0.0.0.0', debug=True)
  2. Find your computer's IP address and access the app at: http://YOUR_IP_ADDRESS:5000

How to Use

Creating Your First Quest

  1. Navigate to the main dashboard
  2. Use the "Create New Quest" form to add a habit
  3. Enter the habit name, optional description, and XP reward value
  4. Click "Add Quest" to create your new daily habit

Completing Quests

  1. View your active quests on the main dashboard
  2. Click "Complete Quest" next to any uncompleted habit
  3. Earn XP and gold immediately upon completion
  4. Watch your character level up as you accumulate experience

Tracking Progress

  1. Visit the "Stats" page to view your adventure statistics
  2. Monitor your current level, total XP, and gold earned
  3. Review habit performance over the last 30 days
  4. Identify patterns and areas for improvement

Database Structure

Habitarium uses a local SQLite database with three main tables:

  • habits: Stores habit information (name, description, XP reward)
  • habit_completions: Tracks daily completion records
  • player_stats: Maintains character progression (XP, level, gold)

Data Persistence and Backup

All your habit data is stored locally in a file called habitarium.db. To backup your progress:

  1. Copy the habitarium.db file to a safe location
  2. To restore, simply replace the database file in your Habitarium directory
  3. Your character progression and habit history will be preserved

Customization

Adjusting XP Rewards

  • Set higher XP values (50-100) for challenging habits
  • Use lower values (10-25) for simple daily tasks
  • Balance rewards to maintain steady progression

Modifying Level Requirements

The default system requires 100 XP per level. To adjust this:

  1. Locate the calculate_level() function in app.py
  2. Modify the calculation logic as desired
  3. Restart the application for changes to take effect

Contributing

Contributions to Habitarium are welcome! To contribute:

  1. Fork the repository
  2. Create a feature branch for your changes
  3. Make your modifications with clear, descriptive commits
  4. Submit a pull request with a detailed explanation

Troubleshooting

Common Issues

Database not found: The database file is created automatically on first run. Ensure you have write permissions in the project directory.

Port already in use: If port 5000 is occupied, modify the port in app.py:

app.run(debug=True, port=5001)

Styling not loading: Verify that the static/css/style.css file exists and the Flask static folder is properly configured.

Planned Enhancements

The following features are being considered for future releases:

Character Customization

  • Avatar System: Choose and customize your adventurer's appearance
  • Character Classes: Select from different RPG classes (Warrior, Mage, Rogue) with unique bonuses
  • Equipment System: Unlock gear and accessories based on habit streaks

Advanced Gamification

  • Achievement Badges: Unlock special badges for milestone accomplishments
  • Streak Bonuses: Extra XP rewards for maintaining consecutive completion streaks
  • Daily Challenges: Special high-reward quests that rotate daily
  • Boss Battles: Major habit challenges that require sustained effort over multiple days

Social Features

  • Guild System: Form groups with friends or family members for shared accountability
  • Leaderboards: Compare progress with other adventurers (optional)
  • Quest Sharing: Import and share habit templates with the community

Analytics and Insights

  • Habit Correlation: Discover which habits you tend to complete together
  • Time-based Analytics: Track performance patterns throughout the week/month
  • Success Prediction: AI-powered suggestions for optimal habit scheduling
  • Export Functionality: Generate reports and export data to CSV/PDF

Quality of Life Improvements

  • Habit Categories: Organize quests by type (Health, Productivity, Learning, etc.)
  • Custom Themes: Additional color schemes and visual themes
  • Reminder System: Optional notifications for incomplete daily quests
  • Habit Templates: Pre-built habit suggestions for common goals
  • Difficulty Scaling: Automatic XP adjustment based on completion consistency

Technical Enhancements

  • Mobile App: Native mobile application for iOS and Android
  • Cloud Sync: Optional cloud backup and sync across devices
  • API Integration: Connect with fitness trackers, calendars, and other productivity apps
  • Plugin System: Framework for community-developed extensions

Have suggestions for new features? Open an issue on GitHub or submit a pull request with your ideas!

License

This project is released under the MIT License. See the LICENSE file for complete details.

Local Hosting Only

Habitarium is designed for local hosting and personal use. Your habit data remains private and secure on your own device. The application does not require internet connectivity and works completely offline once installed.

About

Gamified RPG habit tracker that turns daily routines into epic quests! Earn XP, level up, and collect gold by completing habits. Built with Flask, SQLite & basic HTML/CSS/JS. Transform boring tasks into a fun adventure. (Only Local Hosting)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors