TMI (tmaɪ) is a time tracker designed to help you stay on track during a consultancy.
If you used an Excel sheet in the past to track activities you know that at some point tasks are insterted in batches and formulas were required to understand at which progress of the project or consultancy you are just to find out that you worked more hours than planned.
Time tracking should be simple and integrated in your workflow.
🚧 TMI is a work in progress. Please, try it out and report back using Discussions.
Current features
- Projects, a container for the tasks (or activities) you track
- Tasks define the activity and how many minutes or hours you worked on it
- Check a project status using the summary views
- One tag (
tmi:Task
ortmi:Meeting
) for each task to not be overwhelmed on the categorization of each task - Teams to group projects together, especially useful if you have more that one project with a client
Considered features
- Define a work hours schedule on a project basis, useful in case by contract you have defined slots (discussion#6)
- Scrum ready, include in the tags hierarchy scrum specific naming (discussion#7)
- Auto-tagging based on task description, you should not waste time applying tags to tasks (discussion#8)
- Timers shared across devices, start your timer on one device and continue on the other (discussion#10)
- Connection to Gitlab to synchronize projects and tasks (discussion#11)
And many more.
Considered features are based on suggested Ideas
Requires Docker, Docker Compose and a MariaDB 10.6 database.
Automated builds of the image are available on
Docker Hub tmitime/tmi
and is the recommended method of installation.
docker pull tmitime/tmi:latest
Tags are available for each release, it is highly recommended to use a specific tag.
The best way is via a docker-compose.yml
file
that allows to spin an instance with a fresh database in a breeze.
Once the instance is running you can login with user tmi@tmi.local
and password play.with.docker
.
to be documented
TMI is built using the Laravel framework and Jetstream. Livewire is used to deliver dynamic components, while TailwindCSS powers the UI styling.
Given the selected stack TMI requires:
- PHP 8.1 or above
- Composer 2
- NodeJS version 12 or above with Yarn package manager (v1.x)
- MariaDB version 10.6 or above
- Docker
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
TMI is open-sourced software licensed under the AGPL-3.0 license.