Skip to content

API RESTful e Real-time para o BreakFlow, um sistema de gerenciamento de pausas (café, almoço) focado em controle de fluxo e capacidade operacional.

Notifications You must be signed in to change notification settings

Peixotim/breakFlowAPI

Repository files navigation

BreakFlow API

NestJS PostgreSQL TypeScript JWT

API RESTful e Real-time para o BreakFlow, um sistema de gerenciamento de pausas (café, almoço) focado em controle de fluxo e capacidade operacional.

O objetivo principal é evitar gargalos em operações (como suporte ou call centers) garantindo que um número limite de funcionários esteja ausente simultaneamente.

✨ Funcionalidades

  • Autenticação (JWT): Sistema de login seguro baseado em Tokens JWT.
  • Multi-Tenancy: Arquitetura que separa os dados por Empresa (Tenant). Um usuário de uma empresa não pode, em hipótese alguma, acessar dados de outra.
  • Controle de Acesso (RBAC): Sistema de papéis (Roles) com 3 níveis:
    • DONO: Administrador mestre da empresa. Cria gestores e equipes.
    • GESTOR: Gerencia equipes e funcionários, cria os "Eventos de Pausa" (limites, horários).
    • FUNCIONARIO: Usuário final, que "bate o ponto" de saída e entrada da pausa.
  • Controle de Fluxo em Tempo Real (WebSockets): O "coração" do projeto. Um gateway que gerencia o contador de "vagas" de pausa em tempo real, bloqueando ou liberando saídas instantaneamente.
  • Gerenciamento de Pausas: CRUD para "Eventos de Pausa" (ex: "Almoço Equipe A"), definindo regras como limite de pessoas, duração máxima e horários permitidos.
  • Logs e Auditoria: Registro de todos os horários de saída e volta, gerando dados para relatórios de gestores.

🛠️ Stack de Tecnologia


🏁 Rodando o Projeto Localmente

Siga os passos abaixo para configurar e executar o projeto em seu ambiente de desenvolvimento.

Pré-requisitos

⚙️ Configuração do Ambiente (.env)

Antes de iniciar o projeto, é necessário criar um arquivo chamado .env na raiz do projeto contendo as variáveis de ambiente utilizadas para conectar ao banco de dados e configurar o servidor.

Exemplo de configuração:

DB_HOST=localhost
DB_PORT=5432
DB_USERNAME=seu_usuario
DB_PASSWORD=sua_senha
DB_DATABASE=breakflow_db
SECRET=uma_chave_segura_aqui

About

API RESTful e Real-time para o BreakFlow, um sistema de gerenciamento de pausas (café, almoço) focado em controle de fluxo e capacidade operacional.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published