Este repositório contém a API para um e-commerce voltado para a venda de produtos de tecnologia. A API foi desenvolvida utilizando Node.js, Express, e PostgreSQL.
- Visão Geral
- Tecnologias Utilizadas
- Funcionalidades
- Instalação e Configuração
- Rotas e Documentação
- Colaboradores
A API permite a gestão de usuários, categorias e produtos voltados para um e-commerce de tecnologia. Suporta operações de CRUD (criação, leitura, atualização e exclusão) e conta com autenticação JWT, validação de dados e documentação via Swagger.
- Node.js: Ambiente de execução para JavaScript no lado do servidor.
- Express: Framework web para Node.js.
- PostgreSQL: Banco de dados relacional.
- Swagger: Ferramenta para documentação da API.
- JWT (JSON Web Tokens): Utilizado para autenticação e segurança.
- Tembo.io: Armazenamento em nuvem do banco de dados.
- bcrypt: Utilizado para a criptografia de senhas.
- Nodemon: Utilizado para rodar aplicação em ambiente de desenvolvimento.
- Cadastro, autenticação e gerenciamento de usuários com senhas criptografadas usando bcrypt.
- Gestão de categorias de produtos.
- CRUD completo para produtos tecnológicos.
- Documentação automática das rotas via Swagger.
-
Clone o repositório:
git clone https://github.com/seu-usuario/seu-repositorio.git cd seu-repositorio
-
Instale as dependências e inicie o projeto em modo de desenvolvedor:
npm install npm run dev
Crie um arquivo .env
na raiz do projeto e adicione as seguintes variáveis de ambiente:
URL_DB=your_database_url
SECRET_KEY=your_secret_key
URL_DB
: A URL de conexão completa para o banco de dados PostgreSQL.SECRET_KEY
: Uma chave secreta para uso no projeto (pode ser utilizada para tokens, criptografia, etc.).
Exemplo de URL_DB:
URL_DB=postgres://usuario:senha@host:porta/nome_do_banco
Se preferir configurar a conexão usando parâmetros separados em vez de uma URL, modifique o arquivo connection.js
para algo assim:
const { Pool } = require('pg');
const dotenv = require('dotenv');
dotenv.config();
const connection = new Pool({
user: process.env.DB_USER,
host: process.env.DB_HOST,
database: process.env.DB_NAME,
password: process.env.DB_PASSWORD,
port: process.env.DB_PORT,
ssl: true
});
module.exports = connection;
Neste caso, seu arquivo .env
deve conter:
DB_USER=your_database_user
DB_HOST=your_database_host
DB_NAME=your_database_name
DB_PASSWORD=your_database_password
DB_PORT=your_database_port
Após configurar o arquivo .env
, você pode rodar a aplicação com o comando:
npm run dev
Isso iniciará o servidor Node.js e conectará ao banco de dados PostgreSQL usando as credenciais fornecidas.
- Erro de Conexão: Certifique-se de que as variáveis no arquivo
.env
estão corretas e que o PostgreSQL está rodando. - SSL: Se enfrentar problemas relacionados ao SSL, você pode desativar o SSL (não recomendado em produção) alterando
ssl: true
parassl: false
noconnection.js
.
Para acessar o Swagger da aplicação, basta ir para a rota:
localhost:3000/api-docs