Skip to content

pauloeduas-software/Ponto

Repository files navigation

Ponto

React Router Node.js TypeScript PostgreSQL Docker Lucide React

O Ponto é uma solução corporativa robusta para controle de jornada de trabalho e gestão de escalas em múltiplas equipes. Com uma interface moderna baseada em Glassmorphism, o sistema oferece uma experiência premium e intuitiva para colaboradores e gerentes.


✨ Funcionalidades Principais

  • ⏱️ Registro de Ponto Inteligente: Interface intuitiva com detecção automática de virada de dia e cálculo de saldo (extra/negativo) em tempo real. Suporte a múltiplos períodos e registro manual.
  • 📊 Histórico e Dashboard: Painel individual de estatísticas mensais com análise de saldo acumulado. Permite a edição e exclusão granular de batidas específicas, garantindo flexibilidade na correção de registros.
  • 🧮 Simulador de Horas Inteligente: Ferramenta avançada para planejamento semanal que calcula automaticamente compensações de débito ou uso de crédito de horas extras.
  • 📅 Escala Mensal Dinâmica: Sistema de planejamento de equipe com interface de calendário interativa. Permite alternar escalas de trabalho e folgas com Salvamento Automático, eliminando a necessidade de botões de confirmação.
  • 👤 Perfil Consolidado: Badges dinâmicos que mostram Cargo e Equipe. Personalização de Avatar via Base64 e Meta de Horas individualizada.
  • 🎨 UI/UX: Design consistente em todas as rotas (Histórico, Relatórios, Escala) com navegação temporal fixa e alinhada, evitando quebras de layout.
  • 🛡️ Painel de Gestão Avançado:
    • Criação e organização de equipes.
    • Reset de Senha: Administradores podem redefinir senhas de usuários diretamente pela interface.
    • Exclusão de Contas: Remoção permanente de usuários com limpeza automática de registros vinculados.
  • 🏢 Múltiplos Vínculos e Acesso Granular:
    • Multi-Equipes: Suporte estrutural para que o mesmo colaborador pertença a várias equipes de forma simultânea.
    • Cargos Independentes por Contexto: Um usuário pode ser Gerente na "Equipe A" e um Funcionário comum na "Equipe B". O sistema adequa as permissões dinamicamente.
    • Admin: Acesso irrestrito a todos os setores de forma unificada.
  • 🔐 Segurança e Hardening:
    • Senhas criptografadas com bcrypt.
    • Sessões protegidas com cookies HttpOnly e política SameSite: Strict.
    • Controle de acesso (RBAC) validando permissões de Admin vs Funcionário diretamente no servidor.
    • Proteção contra SQL Injection via consultas preparadas (Prepared Statements).

🛠️ Tech Stack

Categoria Tecnologia
Framework React Router v7 (Framework Mode)
Ambiente Node.js / Runtime compatível
Linguagem TypeScript
Banco de Dados PostgreSQL (pg)
Segurança Bcryptjs (Criptografia de Senhas) & Cookie Session storage
Ícones Lucide React

📂 Estrutura Arquitetural

├── app/
│   ├── components/        # Componentes UI de Layout e Feedback (Modal, DayInfo, etc.)
│   ├── domain/            # Modelagem de domínio e lógica de negócios pura (calculadoras, testes)
│   ├── routes/            # Configuração de rotas de página (Loaders/Actions de entrada)
│   ├── services/          # Camada de serviços e persistência do Postgres (db.server.ts, auth, etc.)
│   ├── styles/            # Folhas de estilo modularizadas (Vanilla CSS)
│   ├── utils/             # Lógica de utilitários gerais e calendarização do tempo
│   ├── views/             # Componentes visuais principais e painéis de controle (Dashboard, Escala, etc.)
│   ├── root.tsx           # Entrada principal da aplicação React Router v7
│   ├── routes.ts          # Registro e mapeamento de rotas da aplicação
│   └── types.ts           # Interfaces e definições de tipos TypeScript globais
├── data/                  # Backup local de segurança (desativado em produção)
├── public/                # Ativos e imagens estáticas
└── Dockerfile             # Configuração para deploy conteinerizado em produção

🏁 Primeiros Passos

Instalação e Execução

  1. Instale as dependências

    npm install
  2. Inicie o Servidor de Desenvolvimento

    npm run dev
  3. Produção (Build)

    npm run build
    npm start

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors