DoX

Task management, your way.

Tl;dr: a task management platform with different applications to suit your needs. Don't like long blocks of text? Skip to the screenshots or download instructions.

DoX (as in do <X>, where X is a task, but also pronounceable like “docks”) is a task management platform with a unique and readable data storage method. It aims to be an extensive framework, providing the tools to manage tasks with descriptions, priorities, due dates, automatic repeat and tags.

What sets DoX apart from other to-do list platforms is how tasks are stored away. Tasks are stored in a tasks.txt file in your home folder (~/DoX), and completed tasks in a done.txt file. Any task can be represented as a single line in the file – a series of words, phrases or commands, quoted if containing multiple words.

An example:

"Washing up" @today|17:00 !1 &daily #Home

These files can be edited by hand to make batch changes, or import many tasks at once. DoX applications can then instantly respond and update to these changes.

DoXCloud

A web-based app with local storage and offline mode.

DoXCloud

The webapp provides easy import and export options from the desktop apps, and allows you to manage your tasks in the browser. Tasks are stored locally in your browser, with none of your information sent online. The app is also cached in the browser to allow full task management even without an internet connection.

DoXCmd

Tasks on the command line and terminal.

DoXCmd

The command-line application provides both a terminal command and a functional shell for managing tasks. Commands are designed to be simple but powerful. Use add followed by a raw task string to instantly add it to your list. Show and filter the current list of tasks with list, mark complete with done, delete with delete.

DoXTray

A system tray icon and powerful graphical interface.

DoXTray

The tray icon provides quick task completion menus, shortcuts to listing and adding tasks, and shows notifications for tasks as they are due. The graphical interface provides a more simple and intuitive way to interact with your task lists, including sorting and filtering options.

DoX

An API backbone for 3rd party app development.

The main DoX package is not itself an app; rather, a module for making an app with. It provides methods for loading and saving task files, and manipulating tasks in all the same ways as the apps currently in development.

At the moment, it is only available as a Python class, but as this project expands, it will hopefully be ported to PHP, Java and more.

Roadmap

Planned features, ideas and future concepts.

Whilst most of the core functionality is ready, there are certainly improvements to be made for usability aspects. In addition, there are other areas to expand to, such as:

Suggestions are also welcome.

Try it

The latest, bleeding-edge code, available now.

DoXCloud makes use of Bootstrap 3.0 and HTML5 to provide an original and native experience in the web browser. The rest of DoX is written primarily in Python. Both DoX and DoXCmd have compatibility with Python 2.x and 3.x, however DoXTray requires Python 3.x and PyQt 4.x (although PyQt 5.x is probably fine too). DoX is being developed and tested on both Windows and Ubuntu, although it should work fine on Mac too, or on any system supporting Python and PyQt.

As DoX is still under heavy development, there are no packaged downloads or installers yet. All the code for this project is available on GitHub (DoX, DoXCloud, DoXCmd and DoXTray) to have a look at. DoXCloud is already hosted online and open for use. For the desktop apps, there's also a handy downloader available for fetching and preparing the necessary files for you.