Este é um projeto básico de introdução ao uso do banco de dados SQLite com Node.js. Ele demonstra de forma prática as operações fundamentais de banco de dados: criação do arquivo do banco, criação de tabelas, inserção de registros e execução de consultas (SELECT).
Antes de começar, você precisará ter instalado em sua máquina:
- Node.js
- NPM (normalmente instalado junto com o Node.js)
- Abra o terminal e navegue até a pasta do projeto:
cd sqlite - Instale a dependência necessária (o módulo
sqlite3):npm install sqlite3
O projeto está organizado em pastas que demonstram a evolução do aprendizado:
Scripts modulares focados nas operações básicas de banco de dados rodando direto no terminal:
createDb.js: Apenas abre a conexão e cria o arquivo local do banco de dados (escola.db).createTable.js: Conecta ao banco e cria a tabelaalunos(utilizando a instruçãoIF NOT EXISTSpara evitar erros).insert.js: Conecta ao banco, garante a criação da tabela e insere um novo registro (Maria Clara) na tabelaalunos.select.js: Conecta ao banco, executa uma consulta para buscar todas as linhas da tabelaalunose exibe os resultados formatados no console.index.js: O fluxo completo. Conecta ao banco, cria a tabela, insere um registro (Carlos Silva) e em seguida lista todos os alunos cadastrados.
Evolui o projeto para uma aplicação web local utilizando o framework Express. Organiza os scripts em rotas HTTP (como /insert e /select), permitindo interagir com o banco de dados diretamente pelo navegador.
Introduz o uso do motor de templates EJS. Separa a lógica do servidor da interface visual, facilitando a criação de páginas dinâmicas renderizando arquivos .ejs (na pasta views) com os dados das tabelas.
Aplicação web completa com interface responsiva e profissional, implementando todas as operações de banco de dados via HTTP:
app.js: Servidor Express com 6 rotas mapeadas para as operações de CRUD (GET /,POST /insert,GET /select,GET /update/:id,POST /update/:id,POST /delete/:id).views/insert_form.ejs: Formulário de cadastro de novos alunos.views/list.ejs: Tabela responsiva com listagem de alunos, botões de editar e excluir com modal de confirmação.views/update.ejs: Formulário de edição dos dados do aluno.
Interface construída com:
- Bootstrap 5 — layout responsivo, navbar, cards e tabelas
- Bootstrap Icons — ícones nos botões e títulos
- Modal de confirmação na exclusão (sem uso de
alertnativo do navegador)
Para executar:
cd CRUD
node app.jsAcesse http://localhost:3000 no navegador.
Reorganiza o CRUD de alunos em camadas separadas, seguindo o padrão MVC:
app.js: Servidor Express, configura o EJS como view engine e delega as rotas paraalunoRoutes.models/alunoModel.js: Camada de acesso a dados — funçõesinsert,getAll,getById,updateeremoveque conversam diretamente com o SQLite.controllers/alunoController.js: Camada de lógica — recebe as requisições, chama o model e decide qual view renderizar ou para onde redirecionar.routes/alunoRoutes.js: Mapeia as rotas HTTP (/,/insert,/alunos,/update/:id,/delete/:id) para as funções do controller.views/: Templates EJS (insert_form,list,update) reaproveitados do CRUD anterior.
Para executar:
cd MVC
node app.jsAcesse http://localhost:3000 no navegador.
Para rodar os arquivos, navegue até a pasta da aula desejada e utilize o comando node seguido do nome do script no terminal.
Por exemplo, para rodar o fluxo completo da aula 1:
cd aula1
node index.jsOu, para apenas consultar os dados já inseridos:
node select.js