Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Lançador de Horas

Uma aplicação full-stack para controle e lançamento de horas trabalhadas no Jira. Com ela você inicia o dia, registra tarefas, pausas e ao final do expediente lança automaticamente o tempo gasto em cada issue.

Estrutura do projeto

lancador-de-horas/
├── lancador-de-horas-backend/   # API Python (FastAPI)
└── lancador-de-horas-frontend/  # Interface React + TypeScript (Vite)

Backend

API REST feita com FastAPI que se autentica no Jira via token e registra worklogs.

Pré-requisitos

  • Python 3.8+
  • Conta no Jira com permissão para lançar horas

Instalação

cd lancador-de-horas-backend

python -m venv .venv
# Windows
source .venv/Scripts/activate
# Linux/macOS
source .venv/bin/activate

pip install -r requirements.txt

Configuração

Copie o arquivo de exemplo e preencha com suas credenciais:

cp .env.example .env
JIRA_USERNAME=seu-email@empresa.com
JIRA_API_TOKEN=seu-token-de-api
JIRA_SERVER=https://sua-instancia.atlassian.net

Gere seu token em: https://id.atlassian.com/manage-profile/security/api-tokens

Executando

uvicorn src.main:app --reload

A API ficará disponível em http://localhost:8000.

Endpoint principal

POST /log_time

{
  "issue_key": "PROJ-123",
  "time_spent": "2h",
  "comment": "Desenvolvimento da feature X",
  "started": "2024-01-15T09:00:00"
}

Frontend

Interface web feita com React, TypeScript e Bootstrap para controlar o dia de trabalho em tempo real.

Pré-requisitos

  • Node.js 18+

Instalação

cd lancador-de-horas-frontend
npm install

Executando

npm run dev

Acesse http://localhost:5173.

Funcionalidades

  • Iniciar dia — registra o horário de início e a issue principal do dia
  • Play/Pause — controla pausas (almoço, reuniões, etc.)
  • Iniciar tarefa — registra uma issue extra trabalhada durante o dia
  • Teste em par — lança tempo em issues de teste em par
  • Resumo do dia — exibe o tempo corrido e as tarefas registradas
  • Encerrar dia — calcula o tempo de cada issue e lança automaticamente no Jira via API

Testes

npm run test          # modo watch
npm run test:coverage # com cobertura

Como funciona

  1. O usuário inicia o dia informando a issue principal.
  2. Durante o dia pode pausar, retomar e adicionar tarefas extras.
  3. Ao encerrar o dia, o frontend calcula o tempo gasto em cada issue (descontando pausas e outras tarefas) e chama o backend para registrar os worklogs no Jira.

Licença

MIT

About

App de Gerenciamento de Horas trabalhadas com integração com Jira

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages