Skip to content
eualvarocostaPublic

About

API REST em Node.js/Express com SQLite para CRUD de pessoas, com suporte a HTTPS via certificado SSL.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API REST - Cadastro de Pessoas

API REST desenvolvida em Node.js com Express, com suporte a HTTP e HTTPS (certificado SSL), para operações CRUD de cadastro de pessoas, utilizando SQLite como banco de dados.

🚀 Tecnologias

  • Node.js (ESM — módulos ES)
  • Express 5
  • SQLite (sqlite + sqlite3)
  • CORS
  • HTTPS nativo (módulo https do Node) com certificado OpenSSL

📁 Estrutura do projeto

api-rest/
├── src/
│   ├── app.js              # Ponto de entrada da aplicação
│   ├── routes.js            # Definição das rotas
│   ├── configDB.js          # Conexão com o banco SQLite
│   ├── controler/
│   │   └── pessoa.js        # Lógica de CRUD da entidade Pessoa
│   └── SSL/
│       ├── certificate.crt  # Certificado SSL (não versionado)
│       └── private.key      # Chave privada SSL (não versionada)
├── database.db              # Banco SQLite (não versionado)
├── package.json
└── .gitignore

⚙️ Funcionalidades

CRUD completo da entidade Pessoa (id, nome, idade):

Método Rota Descrição
GET / Ping — verifica se a API está no ar
GET /pessoas Lista todas as pessoas
GET /pessoa/:id Busca uma pessoa pelo id
POST /pessoa/ Cadastra uma nova pessoa
PUT /pessoa/:id Atualiza uma pessoa existente
DELETE /pessoa/:id Remove uma pessoa

Exemplos de uso

Buscar uma pessoa

GET /pessoa
Content-Type: application/json

{ "id": 1 }

Cadastrar uma pessoa

POST /pessoa
Content-Type: application/json

{ "nome": "Maria", "idade": 28 }

Atualizar uma pessoa

PUT /pessoa
Content-Type: application/json

{ "id": 1, "nome": "Maria Silva", "idade": 29 }

Remover uma pessoa

DELETE /pessoa
Content-Type: application/json

{ "id": 1 }

🔒 HTTPS

A aplicação sobe simultaneamente em HTTP e HTTPS:

  • HTTP: porta 3000
  • HTTPS: porta 3002

Para o HTTPS funcionar, é necessário gerar um certificado SSL local e colocá-lo em src/SSL/:

mkdir -p src/SSL
openssl req -x509 -newkey rsa:2048 -keyout src/SSL/private.key -out src/SSL/certificate.crt -days 365 -nodes -subj "//CN=localhost"

📦 Instalação

# Clone o repositório
git clone https://github.com/eualvarocosta/api-rest.git

# Acesse a pasta do projeto
cd api-rest

# Instale as dependências
npm install

▶️ Como executar

node src/app.js

A aplicação estará disponível em:

  • HTTP: http://localhost:3000
  • HTTPS: https://localhost:3002

O banco de dados SQLite (database.db) é criado automaticamente na raiz do projeto na primeira execução, junto com a tabela Pessoa.

📚 Sobre o projeto

Projeto desenvolvido para fins de estudo e consolidação de conhecimentos em desenvolvimento Back-End com Node.js e Express.

A aplicação foi construída a partir de conteúdo educacional sobre APIs REST e utilizada como prática para implementação de operações CRUD, organização de rotas e controllers, persistência de dados com SQLite e configuração de comunicação HTTP e HTTPS com certificado SSL local.

📄 Licença

Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

👤 Autor

Álvaro Costa Santos GitHub: @eualvarocosta LinkedIn: LinkedIn

About

API REST em Node.js/Express com SQLite para CRUD de pessoas, com suporte a HTTPS via certificado SSL.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages