Giter VIP home page Giter VIP logo

habittracker's Introduction

Python Habit Tracker

A Python program with a Command-line interface that allows Habit tracking. Easily create and check-off daily and weekly habits.

Features

  • Create Daily and Weekly habits
  • Edit habits
  • Analyze habits

Requirements

  • Python v3.12 minimum

Installation

Clone the repository by downloading it and run a terminal

pip install -r requirements

Usage

Run the following command in the project root directory (The same directory for this README)

python main.py

Note that you must run this in an interactive terminal

You will be presented with a number of actions to perform, You can:

  • View all habits: Shows all active habits
  • Add a habit: Creates a new habit
  • Edit a habit: Change a specific property of a habit
  • Check-off a habit: adds an entry to a selected habit
  • Analyze habits: Gives a choice of interesting stats to calculate

Then the application will guide you through the rest of the setup process

Sample Data Generation

If you cloned the repository your save/user.json file must look like this

{
  "habit": []
}

To generate the sample data proceed to run the following command in the project root

python generate_data.py

This will generate 5 habits (3 daily and 2 weekly) with 4 weeks of data each

Testing

If you want to contribute or modify to this application, use the following command to automatically check basic functionality

pytest tests

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.