krdm
v1.0.30
Published
Registro de Manutenções
Downloads
88
Readme
Registro de Manutenções (RDM)
Visão Geral
O Registro de Manutenções (RDM) é uma CLI (Command-Line Interface) desenvolvida para ajudar proprietários de veículos a gerenciarem e acompanharem as manutenções de seus carros de forma eficiente. Com comandos intuitivos, você pode adicionar, listar, remover manutenções, definir a quilometragem atual do veículo, verificar se alguma manutenção está vencida e muito mais.
Além disso, o RDM oferece uma Interface Web desenvolvida com jQuery e Bootstrap, proporcionando uma experiência mais amigável e visual para quem prefere interações gráficas.
Funcionalidades
- Adicionar Manutenções: Registre detalhes sobre cada manutenção realizada.
- Listar Manutenções: Visualize todas as manutenções registradas.
- Remover Manutenções: Exclua manutenções indesejadas pelo índice.
- Definir Quilometragem Atual: Atualize a quilometragem atual do veículo.
- Verificar Manutenções Vencidas: Receba alertas sobre manutenções que ultrapassaram os intervalos recomendados.
- Calcular Gasto Total: Veja o total gasto em manutenções.
- Sincronizar Banco de Dados: Faça backup do seu registro de manutenções em um local externo.
- Tempo Desde a Última Manutenção: Saiba quanto tempo se passou desde a última manutenção registrada.
- Estimativa de Próxima Manutenção: Obtenha uma previsão de quando a próxima manutenção será necessária.
- Interface Web com jQuery e Bootstrap: Gerencie suas manutenções através de uma interface amigável e responsiva no navegador.
Instalação
Certifique-se de ter o Node.js instalado em sua máquina.
[sudo] pnpm install -g krdm
Uso
Comandos Disponíveis
1. Adicionar uma Manutenção
Registre uma nova manutenção com detalhes como descrição, data, custo, tipo e quilometragem.
rdm add --descricao "Troca de óleo semissintético" --data "2024-12-28" --custo 150 --tipo "troca_oleo" --km 45000
Opções:
--descricao
ou-d
(Obrigatório): Descrição da manutenção.--data
ou-D
(Obrigatório): Data da manutenção (YYYY-MM-DD
).--custo
ou-c
(Opcional): Custo da manutenção (default:0
).--tipo
ou-t
(Opcional): Tipo da manutenção (ex.:troca_oleo
,alinhamento
).--km
ou-k
(Opcional): Quilometragem no momento da manutenção (default: quilometragem atual do carro).
2. Listar Todas as Manutenções
Visualize todas as manutenções registradas.
rdm list
Saída Exemplo:
1. Descrição: Troca de óleo semissintético
Data: 2024-12-28
Custo: R$ 150
Tipo: troca_oleo
Quilometragem: 45000 km
3. Remover uma Manutenção
Exclua uma manutenção pelo índice.
rdm remove --indice 1
Opções:
--indice
ou-i
(Obrigatório): Índice da manutenção a ser removida.
4. Definir Quilometragem Atual
Atualize a quilometragem atual do seu carro.
rdm set-odometer --km 48000
Opções:
--km
(Obrigatório): Valor atual do hodômetro.
5. Verificar Manutenções Vencidas
Receba alertas sobre manutenções que já ultrapassaram os intervalos recomendados.
rdm check-schedule
Descrição:
Este comando verifica cada tipo de manutenção registrada e compara a quilometragem atual com a última quilometragem registrada para determinar se a manutenção está vencida com base nos intervalos definidos.
Exemplo de Saída:
ALERTA: Manutenção "troca_oleo" está vencida! Última foi em 2024-12-28 (km 45000). Já se passaram 6000 km (intervalo recomendado: 5000 km).
6. Calcular Gasto Total em Manutenções
Veja o total gasto em todas as manutenções registradas.
rdm total
Saída Exemplo:
Gasto total: R$ 150
7. Sincronizar Banco de Dados
Faça backup do seu banco de dados de manutenções para um local externo.
rdm sync --destino "E:\backup\car-maintenance.json"
Opções:
--destino
ou-d
(Obrigatório): Caminho de destino para o backup.
8. Tempo Desde a Última Manutenção
Saiba quantos dias se passaram desde a última manutenção registrada.
rdm elapsed
Exemplo de Saída:
A última manutenção foi há 34 dias.
9. Iniciar a Interface Web
Inicie o servidor web para gerenciar as manutenções através de uma interface amigável e responsiva no navegador.
rdm ui [port]
Descrição:
Inicia o servidor web na porta especificada (padrão: 3000
). Acesse a interface em http://localhost:3000
.
Exemplo:
rdm ui 4000
Acessando http://localhost:4000
no navegador, você verá a interface web para gerenciar suas manutenções de forma mais visual e organizada.
10. Estimativa de Próxima Manutenção
Obtenha uma previsão de quando a próxima manutenção será necessária para um tipo específico.
rdm estimate --tipo "troca_oleo"
Opções:
--tipo
ou-t
(Obrigatório): Tipo da manutenção para a qual deseja a estimativa (ex.:troca_oleo
).
Exemplo de Saída:
Estimativa para a próxima manutenção de "troca_oleo":
- Quilometragem: 50000 km
- Data: 2025-06-28
Opção Avançada: Especificar Banco de Dados
Por padrão, o RDM utiliza o arquivo car-maintenance.json
localizado no diretório home do usuário. Para usar um arquivo de banco de dados diferente (útil para testes ou configurações personalizadas), utilize a opção --db
.
rdm add --descricao "Troca de filtro de ar" --data "2025-01-15" --custo 80 --tipo "filtro_ar" --km 50000 --db "/path/to/custom-db.json"
Interface Web com jQuery e Bootstrap
A interface web permite gerenciar suas manutenções de forma visual e interativa. Ela foi desenvolvida utilizando jQuery e Bootstrap, oferecendo todas as funcionalidades disponíveis na CLI com uma experiência mais amigável e responsiva.
Funcionalidades Disponíveis na Interface Web
- Adicionar Manutenção: Formulário para adicionar novas manutenções.
- Listar Manutenções: Lista todas as manutenções registradas com opção de remoção.
- Calcular Gasto Total: Exibe o gasto total em manutenções.
- Definir Quilometragem Atual: Atualiza a quilometragem atual do carro.
- Verificar Manutenções Vencidas: Exibe alertas sobre manutenções vencidas.
- Tempo Desde a Última Manutenção: Mostra quantos dias se passaram desde a última manutenção.
- Sincronizar Banco de Dados: Permite sincronizar o banco de dados para um destino externo.
- Estimativa de Próxima Manutenção: Obtém a previsão da próxima manutenção para um tipo específico.
Acessando a Interface Web
Após iniciar o servidor web com o comando rdm ui
, acesse http://localhost:3000
(ou a porta especificada) no seu navegador.
Estrutura dos Arquivos da Interface Web
public/index.html
: Estrutura da interface web aprimorada com Bootstrap.public/style.css
: Estilos personalizados adicionais para a interface.public/script.js
: Lógica do frontend usando jQuery para interagir com a API REST.
Exemplo de Uso
Adicionar uma Manutenção:
- Preencha o formulário na seção "Adicionar Manutenção" e clique em "Adicionar".
- A manutenção será adicionada e exibida na lista abaixo.
Listar Manutenções:
- Clique em "Atualizar Lista" para garantir que todas as manutenções estejam listadas.
Remover uma Manutenção:
- Clique no botão "Remover" ao lado da manutenção que deseja excluir.
Definir Quilometragem Atual:
- Preencha o campo na seção "Definir Quilometragem Atual" e clique em "Atualizar".
Verificar Manutenções Vencidas:
- Clique em "Verificar" na seção correspondente para receber alertas sobre manutenções vencidas.
Calcular Gasto Total:
- Clique em "Atualizar Total" para ver o gasto total em manutenções.
Sincronizar Banco de Dados:
- Preencha o campo de destino na seção "Sincronizar Banco de Dados" e clique em "Sincronizar".
Estimativa de Próxima Manutenção:
- Preencha o tipo de manutenção na seção "Estimativa de Próxima Manutenção" e clique em "Obter Estimativa".
- A estimativa será exibida abaixo do formulário.
Testes
O projeto inclui uma suite de testes automatizados para garantir o correto funcionamento da CLI e da API. Os testes utilizam um banco de dados separado para evitar interferências com os dados reais.
Executando os Testes
Certifique-se de ter todas as dependências instaladas:
pnpm install
Execute os testes:
pnpm test
Estrutura dos Testes
- Banco de Dados Independente: Os testes utilizam um arquivo temporário (
test-car-maintenance.json
) localizado no diretório temporário do sistema para garantir que os dados de teste não afetem o banco de dados principal. - Cobertura de Comandos: Os testes abrangem todos os comandos principais (
add
,list
,remove
,set-odometer
,check-schedule
,total
,sync
,elapsed
,estimate
,ui
) para garantir que funcionem conforme esperado. - Ciclos de Criação e Destruição: Antes de cada suite de testes, o arquivo de banco de dados de teste é removido para garantir um ambiente limpo.
Contribuindo
Contribuições são bem-vindas! Sinta-se à vontade para:
- Abrir Issues para relatar problemas ou sugerir novas funcionalidades.
- Enviar Pull Requests com melhorias no código, documentação ou testes.
Guia de Contribuição
Fork o Repositório
Crie uma Branch para sua Feature ou Correção
git checkout -b minha-nova-feature
Comite suas Alterações
git commit -m "Descrição da minha feature"
Faça Push para a Branch
git push origin minha-nova-feature
Abra um Pull Request
Licença
Este projeto está licenciado sob a ICS License. Isso significa que você pode usar, modificar e distribuir à vontade, desde que mantenha o arquivo de licença.
CHANGELOG
Este é o CHANGELOG caso queira acompanhar!
Aproveite para manter seu carro sempre em dia e economizar planejando suas manutenções com o RDM! Se tiver dúvidas ou sugestões, sinta-se à vontade para abrir uma issue ou nos contatar. Boas manutenções!
Contato
- Email: kaeyosthaeron@gmail.com
- GitHub: ktfth