Loading repository data…
Loading repository data…
Nathsanfer / repository
Sistema web para gerenciamento de produtos, estoque e vendas de cantina escolar, desenvolvido com Node.js, Express, EJS e PostgreSQL.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Sistema web simples para gerenciar produtos, estoque e vendas de uma cantina escolar.
Tecnologias: Node.js • Express • EJS • PostgreSQL
O sistema permite que os funcionários de uma cantina façam:
A autenticação é feita via login de usuário, garantindo que apenas funcionários autorizados acessem o sistema.
EJS (Embedded JavaScript) é um template engine que permite misturar HTML com código JavaScript. Funciona assim:
<p>Olá mundo</p><% %>: <p>Olá <%= nome %>!</p>No nosso sistema, usamos EJS para criar páginas dinâmicas que mostram dados do banco de dados (produtos, vendas, usuário logado, etc).
https://github.com/user-attachments/assets/2fc36c6a-ac8a-4475-b3de-8fe8b799ddcc
git clone https://github.com/seu-usuario/authentic-cantina-ejs.git
cd authentic-cantina-ejs
npm install
server.js e procure por const pool = new Pool):const pool = new Pool({
user: 'postgres', // seu usuário
password: '7629', // sua senha
host: 'localhost',
database: 'cantina_db',
port: 5432
});
"C:\Program Files\PostgreSQL\18\bin\psql.exe" -U postgres -p 5432 -f seed_fixed.sql
node server.js
Acesse em: http://localhost:3000
O sistema usa sessões — quando você faz login, o servidor guarda sua informação em um cookie.
Usuários padrão:
| Usuário | Senha |
|---|---|
| Kleber | senha123 |
| Josefina | senha456 |
⚠️ As senhas estão em texto puro. Para produção, use
bcryptjspara criptografar.
server.js → lógica principal e rotas
seed_fixed.sql → cria banco e dados iniciais
package.json → dependências do projeto
├── public/ → CSS e arquivos estáticos
└── views/ → páginas EJS
├── login.ejs → tela de login
├── dashboard.ejs → painel inicial
├── cadastro-produto.ejs → gerenciar produtos
└── movimentacoes.ejs → registrar vendas
Produtos: nome, preço
Estoque: quantidade de cada produto
Usuários: nickname, senha
Vendas: quem vendeu, o quê, quanto e quando
| Tela | O que faz |
|---|---|
| Login | Acessa o sistema com usuário e senha |
| Dashboard | Mostra resumo: total de produtos, total de vendas, alertas de estoque baixo |
| Produtos | Adiciona, edita e remove produtos; visualiza estoque |
| Vendas | Registra uma venda e atualiza estoque automaticamente |
| Método | Rota | Descrição |
|---|---|---|
| GET | / | Tela de login |
| POST | /login | Faz login |
| GET | /logout | Sai do sistema |
| GET | /dashboard | Painel inicial |
| GET/POST | /cadastro-produto | Gerenciar produtos |
| GET/POST | /movimentacoes | Registrar vendas |