Markdown
Este repositório foi feito apartir do projeto exemplo de front end disponibilizado na disciplina de DevMovel da UTFPR.
https://github.com/ipolato/opt120_fontend_exemplo
Bem-vindo ao repositório da nossa primeira API RESTful modular! Este projeto foi desenvolvido para demonstrar na prática como construir um servidor backend estruturado, conectar a um banco de dados relacional e documentar os endpoints de forma profissional.
- Node.js & Express.js: Para o servidor web e roteamento.
- PostgreSQL: Banco de dados relacional.
- Docker & Docker Compose: Para orquestração da infraestrutura (banco de dados e pgAdmin).
- Swagger (OpenAPI): Para documentação interativa e testes da API.
- pg: Driver nativo para comunicação entre Node.js e PostgreSQL.
Antes de começar, certifique-se de ter as seguintes ferramentas instaladas na sua máquina:
- Git
- Node.js (Versão 18 ou superior)
- Docker Desktop (Rodando em segundo plano)
Abra o seu terminal e clone este repositório para a sua máquina local:
git clone https://github.com/ipolato/opt120-backend-exemplo.git
cd opt120-backend-exemploNão precisamos instalar o PostgreSQL no computador! Vamos usar o Docker para baixar e rodar um contêiner pronto com o banco de dados e a interface do pgAdmin. No terminal, execute:
docker compose up -dA flag -d significa "detached", liberando o seu terminal para o próximo passo. O Postgres estará rodando na porta 5432.
Agora precisamos baixar as bibliotecas de código (como o Express e o driver do Postgres) que a nossa API utiliza. Execute:
npm installCom o banco rodando e as dependências instaladas, inicie a API. O nosso código já possui uma rotina de inicialização automática: ao ligar, ele verificará o banco de dados e criará a tabela usuarios sozinho caso ela não exista.
node --watch server.jsA flag --watch faz com que o servidor reinicie automaticamente toda vez que você salvar uma alteração no código.
A nossa API não tem uma interface visual tradicional (Frontend), mas implementamos o Swagger para facilitar os testes!
Abra o seu navegador e acesse: http://localhost:3000/api-docs
Para Cadastrar um Usuário (POST):
Clique na rota verde POST /usuarios.
Clique no botão "Try it out".
Altere os valores de "nome" e "email" no campo de texto JSON.
Clique em "Execute". Role para baixo e verifique se o Server response retornou código 201.
Para Listar os Usuários (GET):
Clique na rota azul GET /usuarios.
Clique no botão "Try it out" e depois em "Execute".
Você verá a lista de usuários salvos vindo diretamente do banco de dados!