ttrack is an application built in python to track work.
It is mandatory having docker installed in order to build the project
sudo apt install docker.io docker-compose
sudo apt install python3.8-venv
Clone this repository
git clone https://github.com/victoriavilasb/ttrack.git
Create and activate virtual environment
python3 -m venv ./venv
source venv/bin/activate
Install dependencies
python3 -m pip install -r requirements.txt
Build docker
docker-compose up -d db
Run migrations
alembic upgrade head
Run program
python -m ttrack --help
Commands:
- config: prepare environment for ttrack
- start a task:
python -m ttrack start task <task_name> --project <task_project> --force <force>
- start a project:
python -m ttrack start project <project_name>
- add or remove a project from a task:
python -m ttrack edit task <task_name> --add-project <task_project> --remove-project <remove>
- add a tag to a task:
python -m ttrack add-tag --tag <tag_name> --task <task_name>
- remove a tag from a task:
python -m ttrack remove-tag --tag <tag_name> --task <task_name>
- resume a task:
python -m ttrack continue --task <task_name>
- pause a task:
python -m ttrack pause --task <task_name>
- finish one or more tasks:
python -m ttrack finish --task <task_name> --tasks <task_name_0,task_name_1,...>
- activate one or more tasks:
python -m ttrack activate --project <project_name> --projects <project_name_0,project_name_1,...>
- archive one or more projects:
python -m ttrack archive --project <project_name> --projects <project_name_0,project_name_1,...>
- list tasks or projects:
python -m ttrack list --projects <show_projects> --tasks <show_tasks> --status <status_to_be_shown>
- create a shortcut:
python -m ttrack create shortcut <shortcut_name> --programs <list of programs> --web-pages <list of web pages>
- open a shortcut:
python -m ttrack open shortcut <shortcut_name>
- edit a shortcut:
python -m ttrack edit shortcut <shortcut_name>
- Gabriel Magalhães Monteiro Sales
- João Lucas Rocha dos Santos
- Victoria Olivia Araujo Vilas Boas
- Vinicius Rodrigues Oliveira
- Python: Python was chosen because of it simplicity, and because all members from the group knows the technology
- PostgreSQL: Is a powerful system chosen as storage
- Docker: Database run as a container, and docker was chosen in order to build and run the database container
- Typer: is a python library to build powerful CLI applications
- SQLAlchemy: as the orm to query and persist data
- Alembic: to manage database migrations