https://github.com/esscova/meus-funcionarios
Este projeto é um aplicativo web para gestão de funcionários, permitindo adicionar, editar, excluir e visualizar registros de funcionários. Utiliza Node.js com Express e Sequelize como backend e HTMX e Tailwind CSS como frontend.
https://github.com/esscova/meus-funcionarios
express-js htmx nodejs sequelize-orm tailwindcss
Last synced: about 1 month ago
JSON representation
Este projeto é um aplicativo web para gestão de funcionários, permitindo adicionar, editar, excluir e visualizar registros de funcionários. Utiliza Node.js com Express e Sequelize como backend e HTMX e Tailwind CSS como frontend.
- Host: GitHub
- URL: https://github.com/esscova/meus-funcionarios
- Owner: esscova
- Created: 2024-06-05T09:14:20.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-14T23:37:36.000Z (over 1 year ago)
- Last Synced: 2025-05-28T20:58:20.840Z (5 months ago)
- Topics: express-js, htmx, nodejs, sequelize-orm, tailwindcss
- Language: JavaScript
- Homepage:
- Size: 114 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Cadastro de Funcionários
## Descrição
Este projeto é uma aplicação web para cadastro de funcionários. Ele permite adicionar, editar, excluir e visualizar funcionários utilizando um backend em Node.js com Express e Sequelize, e um frontend simples com HTMX e Tailwind CSS.
## Requisitos
- Node.js (versão 12 ou superior)
- npm (versão 6 ou superior)## Instalação
1. Clone o repositório:
```sh
git clone https://github.com/esscova/meus-funcionarios.git
```2. Navegue até o diretório do projeto:
```sh
cd seu-projeto
```3. Instale as dependências:
```sh
npm install
```## Configuração
O banco de dados SQLite é configurado automaticamente. Certifique-se de que o diretório `db` existe na raiz do projeto.
## Scripts Disponíveis
No diretório do projeto, você pode executar:
### `npm run dev`
Inicia o servidor em modo de desenvolvimento usando `nodemon`. O servidor será recarregado automaticamente se houver alterações nos arquivos.
### `npm run dev-css`
Inicia o Tailwind CSS em modo de observação. Ele recompilará os estilos sempre que os arquivos CSS forem alterados.
## Uso
1. Inicie o servidor:
```sh
npm run dev
```2. Inicie o Tailwind CSS em modo de observação:
```sh
npm run dev-css
```3. Acesse a aplicação no navegador:
```
http://localhost:3333
```## Funcionalidades
- **Cadastro de funcionários**: Adicione novos funcionários preenchendo os campos necessários.
- **Listagem de funcionários**: Visualize todos os funcionários cadastrados.
- **Atualização de informações**: Edite as informações dos funcionários.
- **Exclusão de funcionários**: Remova funcionários do sistema.
- **Busca de funcionários**: Pesquise funcionários pelo nome.## Tecnologias Utilizadas
- **Backend**:
- Node.js
- Express
- Sequelize
- SQLite3
- **Frontend**:
- HTMX
- Tailwind CSS## Estrutura do Projeto
```plaintext
├── db
│ └── database.sqlite # Banco de dados SQLite
├── public # Arquivos públicos
│ ├── index.html # Página principal
│ ├── styles.css # Estilos adicionais
│ └── output.css # Estilos gerados pelo Tailwind CSS
├── server.js # Servidor Express
├── script.js # Script para manipulação do frontend com HTMX
└── package.json # Configurações do projeto e dependências
```## Rotas da API
Essas rotas gerenciam operações CRUD (Create, Read, Update, Delete).1. **GET `/test`**
- **Descrição:** Testa se a API está funcionando.
- **Resposta:** Retorna a mensagem 'api rodando'.2. **POST `/colaboradores`**
- **Descrição:** Adiciona um novo colaborador ao banco de dados.
- **Parâmetros:** `nome`, `email`, `cargo`, `status` no corpo da requisição.
- **Resposta:** Mensagem indicando sucesso ou erro no cadastro do colaborador.3. **GET `/colaboradores`**
- **Descrição:** Retorna uma lista de todos os colaboradores.
- **Resposta:** HTML com informações dos colaboradores, incluindo nome, email, cargo e status.4. **PUT `/colaboradores`**
- **Descrição:** Atualiza as informações de um colaborador existente.
- **Parâmetros:** `id`, `nome`, `email`, `cargo`, `status` no corpo da requisição.
- **Resposta:** Mensagem indicando sucesso ou erro na atualização dos dados do colaborador.5. **GET `/search`**
- **Descrição:** Busca colaboradores pelo nome.
- **Parâmetros:** `search` na query string.
- **Resposta:** HTML com informações dos colaboradores encontrados ou mensagem indicando que o colaborador não foi encontrado.6. **DELETE `/colaboradores/:id`**
- **Descrição:** Deleta um colaborador pelo ID.
- **Parâmetros:** `id` como parâmetro de rota.
- **Resposta:** Mensagem indicando sucesso ou erro na deleção do colaborador.