Skip to content

yslamartins/projeto-final

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tech Products E-commerce APIREST

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.

Índice

Visão Geral

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.

Tecnologias Utilizadas

  • 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.

Funcionalidades

  • 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.

Instalação e Configuração

  1. Clone o repositório:

    git clone https://github.com/seu-usuario/seu-repositorio.git
    cd seu-repositorio
  2. Instale as dependências e inicie o projeto em modo de desenvolvedor:

    npm install
    npm run dev

Configurar o arquivo .env

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

Configurar a Conexão (Opcional)

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

Rodar a aplicação

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.

Solução de Problemas

  • 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 para ssl: false no connection.js.

Rotas e Documentação

Para acessar o Swagger da aplicação, basta ir para a rota:

localhost:3000/api-docs

Colaboradores

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •