Skip to main content

Project task tracking / todo list.

Project description

cards

image image image Documentation Status image

Project task tracking / todo list (in progress)

Initial Goals of the project

  • Create a command line application that can be used to track the status of a multi-person project.
  • Explore the problems inherent in all applications regarding usability, testing, packaging, deployment, etc.

Rough Current Status

  • A "usable" API and CLI. The CLI workflow needs work.
  • Database location is flexible to the API, but the CLI hardcodes it to a single user home directory.

Short Term TODO items

  • Remove presentation from most of the automated tests. It's a pain when the presentation changes.
  • Add tags, due dates, history, ... maybe.
  • Maintain 100% code coverage.
  • Switch README to markdown
  • Switch to flit for packaging
  • add black
  • add pre-commit hooks with flake8 and black and testing

Long Term TODO items

  • Split off the CLI to a separate package, maybe
  • Create a REST API and multi-user capability so that multiple people can connect to one database.
  • Create alternative front ends. For example:
    • remote CLI
    • Flask
    • Other web frameworks
  • Deploy some version to a cloud based solution.
  • Continue to explore all of the troubling difficult points in blog posts and podcast episodes.
  • Change the history.md document into something more sane. Anyone know a good way to keep a change log that is relevant but not difficult to maintain?
  • Keep it a reasonably simple project that is a good example of whatever the Python community generally agrees is ok practices.

More info

This is a demo application being built in conjunction with the Test & Code podcast.

We'll be building up this application, and testing it, and adding functionality, while discussing software testing and development practices.

Follow along, starting with episode 37.

Usage

See usage page for details, but here's a demo of how it works:

$ cards add 'a todo'

$ cards add -o Brian 'another task'

$ cards list
  ID      owner  done summary
  --      -----  ---- -------
   1                  a todo
   2      Brian       another task

$ cards update 1 -o Brian

$ cards update 1 --done True

$ cards
  ID      owner  done summary
  --      -----  ---- -------
   1      Brian    x  a todo
   2      Brian       another task

$ cards delete 1

$ cards
  ID      owner  done summary
  --      -----  ---- -------
   2      Brian       another task

$ cards --help
Usage: cards [OPTIONS] COMMAND [ARGS]...

  Run the cards application.

Options:
  --version   Show the version and exit.
  -h, --help  Show this message and exit.

Commands:
  add     add a card
  count   list count
  delete  delete a card
  list    list cards
  update  update card

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cards-0.2.4.tar.gz (9.3 kB view hashes)

Uploaded Source

Built Distribution

cards-0.2.4-py3-none-any.whl (6.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page