Skip to content

MarlonVBP/batedor_de_ponto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Diário de Trabalho

Descrição

O Diário de Trabalho é uma aplicação web simples e intuitiva para controlar os dias trabalhados e calcular os valores a receber para múltiplas pessoas. Os dados são guardados de forma segura numa base de dados online utilizando o Supabase, permitindo o acesso e a gestão a partir de qualquer lugar.

A aplicação foi construída como uma Single-Page Application (SPA), não necessitando de compilação ou dependências complexas. Basta abri-la num navegador.

Funcionalidades

  • Gestão de Múltiplas Pessoas: Adicione e remova diferentes pessoas.
  • Valores de Diária Personalizados: Defina um valor de diária individual para cada pessoa.
  • Registo de Dias: Registe dias de trabalho completos ou meios dias com cálculo automático.
  • Cálculo Automático: O montante total a receber é calculado em tempo real.
  • Histórico e Limpeza: Funcionalidade "Limpar Pagos" para reiniciar facilmente os registos após um pagamento.
  • Armazenamento Seguro e Persistente: Todos os dados são guardados no seu próprio projeto Supabase.
  • Interface Moderna: Design responsivo construído com Tailwind CSS e alertas amigáveis com SweetAlert2.

Tecnologias Utilizadas

  • Frontend: HTML5, JavaScript (ES Modules)
  • Estilização: Tailwind CSS
  • Backend e Base de Dados: Supabase (PostgreSQL)
  • Biblioteca de Alertas: SweetAlert2

Configuração e Instalação

Para executar esta aplicação, precisa apenas do ficheiro index.html e de um projeto Supabase.

Passo 1: Criar o Projeto no Supabase

  1. Vá a supabase.com, crie uma conta gratuita e um novo projeto.
  2. Após criar o projeto, navegue até Project Settings (ícone de engrenagem).
  3. Na secção API, encontre as seguintes informações de que vai precisar:
    • Project URL
    • Project API Keys → Chave anon public

Passo 2: Criar as Tabelas da Base de Dados

  1. No menu de navegação do seu projeto Supabase, vá até ao SQL Editor.
  2. Clique em New query.
  3. Copie e cole o seguinte código SQL e clique em RUN para criar as tabelas e relações necessárias.

-- Cria a tabela para as pessoas
CREATE TABLE public.people (
id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
name TEXT NOT NULL,
day_value NUMERIC NOT NULL,
created_at TIMESTAMPTZ DEFAULT NOW()
);

-- Cria a tabela para os registos de trabalho
CREATE TABLE public.entries (
id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
person_id BIGINT REFERENCES public.people(id) ON DELETE CASCADE,
date DATE NOT NULL,
type TEXT NOT NULL, -- 'completo' ou 'meio'
value NUMERIC NOT NULL,
created_at TIMESTAMPTZ DEFAULT NOW()
);

Nota: A instrução ON DELETE CASCADE garante que, se uma pessoa for removida, todos os seus registos de trabalho também serão automaticamente eliminados.

Passo 3: Executar a Aplicação

  1. Descarregue o ficheiro index.html deste repositório.
  2. Abra o ficheiro index.html em qualquer navegador web moderno.
  3. Na primeira vez que abrir, será exibido um ecrã de configuração.
  4. Insira a Project URL e a Chave Anon do seu projeto Supabase.
  5. Clique em "Guardar e Conectar".

E pronto! A aplicação está agora conectada à sua base de dados e pronta a ser utilizada. As suas credenciais serão guardadas localmente no navegador para que não precise de as inserir novamente.

Nota de Segurança

As credenciais do Supabase (URL e Chave) não estão guardadas no código. São inseridas pelo utilizador no primeiro uso e armazenadas apenas no localStorage do navegador. Isto garante que o código permanece seguro e pode ser partilhado livremente sem expor informações sensíveis.

About

Projeto criado para ajudar meu pai a gerenciar o pagamentos de seus trabalhadores

Topics

Resources

License

Stars

Watchers

Forks

Languages