GitHunt
JE

jessica-leoa/Meu-Direito-CLT

Plataforma open source para democratizar o acesso aos direitos trabalhistas no Brasil.

Build Status
License
Last Commit
Top Languages
Repo Size
Contributors
Open Issues
Forks
Stars
Version

Meu-Direito-CLT

📖 Sobre o Projeto

Meu Direito CLT é um software open source criado para democratizar o acesso à informação sobre os direitos trabalhistas no Brasil.
O projeto nasceu da percepção de que muitos trabalhadores não conhecem seus direitos previstos na CLT e acabam sofrendo abusos ou se sentindo culpados por situações injustas no ambiente de trabalho.

Sendo assim, o projeto surge com o objetivo é oferecer uma ferramenta prática, simples e confiável para que qualquer trabalhador CLT possa:

  • Consultar seus direitos de forma acessível
  • Ter resposta das principais dúvidas sobre seus direitos
  • Reconhecer quando está sofrendo abuso de poder
  • Saber a importancia de saber seus direitos e onde recorrer quando perceber quando eles são violados
  • Tirar dúvidas específicas através de um chatbot especializado (Implemetação futura)

💡 O objetivo do MVP é fornecer uma API simples, prática e confiável que auxilie o trabalhador a simular cálculos trabalhistas de forma automática e educativa.


🛠️ Tecnologias Utilizadas

Back-end

Testes


🎯 Funcionalidades Principais

Atualmente, o projeto conta com três módulos principais, todos com testes automatizados e documentados:

Módulo Descrição Endpoint
🗓️ Férias Calcula o valor proporcional de férias + 1/3 constitucional /api/simulador/feriasr
💼 Rescisão Simula uma rescisão contratual com base no tipo (sem justa causa, pedido de demissão etc.) /api/rescisao
⏱️ Horas Extras Calcula o valor das horas extras com acréscimo de 50% ou 100% /api/horas-extras

🧩 Arquitetura do Projeto

O projeto segue uma arquitetura modular e organizada:

src/
├── modules/
│   ├── ferias/
│   ├── rescisao/
│   └── horas-extras/
│
├── server.ts
└── index.ts

Cada módulo contém seus próprios arquivos de:

  • Controller — lógica das requisições HTTP
  • Service — regras de negócio e cálculos
  • Entity — interfaces de entrada/saída de dados
  • Routes — definição das rotas Express

⚙️ Instalação e Execução

🧰 Pré-requisitos


🪜 Passo a passo de instalação

# 1️⃣ Clone o repositório
git clone https://github.com/jessica-leoa/Meu-Direito-CLT.git

# 2️⃣ Acesse a pasta
cd Meu-Direito-CLT

# 3️⃣ Instale as dependências
npm install

# 4️⃣ Execute o servidor em modo desenvolvimento
npm run dev

🚀 Como rodar a aplicação

Após iniciar o servidor, a API estará disponível em:

http://localhost:3000


🧪 Testes Automatizados

O projeto utiliza Jest e Supertest para testes de unidade e integração.

Para executar os testes:

npm test

Os testes cobrem os principais fluxos de cálculo das rotas de:

  • Férias
  • Rescisão
  • Horas Extras

📸 Testes de Rotas (via Thunder Client)

Na pasta /docs/tests estão os prints obrigatórios com os testes realizados via Thunder Client.
Exemplo de nomeação:

01_calculo_ferias.png
02_rescisao_sem_justa_causa.png
03_horas_extras_100.png

🔄 CI/CD Pipeline

O projeto possui integração contínua configurada com GitHub Actions.

📂 Arquivo: .github/workflows/main.yml

Etapas do pipeline:

  1. Instala dependências
  2. Executa build
  3. Roda os testes automatizados
  4. (Deploy automático) — conectado ao Render via API Key

☁️ Deploy no Render

O deploy automático é feito após sucesso nos testes, usando:

  • RENDER_API_KEY e RENDER_SERVICE_ID configurados nos secrets do GitHub.

📚 Documentação de Rotas

Módulo Método Rota Parâmetros (JSON) Exemplo de Saída
Férias POST /api/simulador/ferias { "salario": 3000, "mesesTrabalhados": 6 } { "valorFerias": 1500, "valorUmTerco": 500, "totalReceber": 2000,"diasDeFerias": 15,"prazoPagamento": "O pagamento deve ser feito até 2 dias antes do início das férias." }
Rescisão POST /api/rescisao { "salarioMensal": 3000, "mesesTrabalhados": 6, "avisoPrevioIndenizado": true, "tipoRescisao": "sem_justa_causa" } { "resumo": [...], "descontos": [...], "totalLiquido": 6079.71 }
Horas Extras POST /api/horas-extras/ { "salarioMensal": 3000, "horasExtras": 10, "percentualAdicional": 50 } {"valorHora": 13.64,"valorHoraExtra": 20.45,"totalHorasExtras": 204.55, "salarioComHorasExtras": 3204.55}

✅ Checklist de Entrega

Item Status
README completo e descritivo
Passo a passo de instalação e execução
Testes automatizados documentados
Pipeline CI/CD configurado
Prints do Thunder Client
Conexão com Render (deploy automático)
Integração com MongoDB (não aplicável a este MVP)

🤝 Como Contribuir

Este é um software open source e toda contribuição é bem-vinda!

Para saber como colaborar, leia nosso guia de contribuição:
👉 CONTRIBUTING.md

Wiki

Para mais informações e documentação do projeto, acesse nossa Wiki.