Coder Social home page Coder Social logo

api-loja-restful-nest's Introduction

API Loja RESTful com NestJS

Projeto Pessoal

Este projeto é uma API RESTful para gerenciar uma loja virtual, desenvolvida utilizando o framework NestJS. A API suporta operações CRUD completas para produtos, categorias e usuários, além de autenticação e autorização.


Descrição

A api-loja-restful-nest é uma aplicação backend desenvolvida com NestJS, um framework progressivo para a construção de aplicações Node.js escaláveis e eficientes. Esta API permite gerenciar uma loja virtual, oferecendo endpoints para criar, ler, atualizar e deletar produtos, categorias e usuários. Além disso, inclui funcionalidades de autenticação e autorização para proteger os recursos da aplicação.


Funcionalidades

  • Gerenciamento de Produtos: CRUD completo para produtos, incluindo nome, descrição, preço e categoria.
  • Gerenciamento de Categorias: CRUD completo para categorias de produtos.
  • Gerenciamento de Usuários: CRUD completo para usuários, incluindo cadastro, login e perfis.
  • Autenticação e Autorização: Implementação de JWT (JSON Web Tokens) para autenticar e autorizar usuários.
  • Validação de Dados: Validação robusta de dados de entrada utilizando a biblioteca class-validator.
  • Documentação de API: Documentação automática da API com Swagger.

Tecnologias Utilizadas

  • NestJS: Framework para a construção de aplicações Node.js eficientes e escaláveis.
  • TypeScript: Linguagem de programação utilizada para desenvolvimento do projeto.
  • TypeORM: ORM (Object-Relational Mapper) para interagir com o banco de dados.
  • PostgreSQL: Banco de dados relacional utilizado para armazenar os dados da aplicação.
  • JWT: Implementação de autenticação segura com JSON Web Tokens.
  • Swagger: Ferramenta para documentação automática da API.

Instalação

Pré-requisitos

  • Node.js
  • npm ou yarn
  • PostgreSQL

Passo a Passo

  1. Clone o repositório:

    git clone https://github.com/lmoraesdev/api-loja-restful-nest.git
    cd api-loja-restful-nest
  2. Instale as dependências:

    npm install
  3. Configure as variáveis de ambiente:

    Crie um arquivo .env na raiz do projeto e adicione as seguintes variáveis:

    DATABASE_HOST=localhost
    DATABASE_PORT=5432
    DATABASE_USER=seu_usuario
    DATABASE_PASSWORD=sua_senha
    DATABASE_NAME=nome_do_banco
    JWT_SECRET=sua_chave_secreta
  4. Execute as migrações do banco de dados:

    npm run typeorm migratuin:run
  5. incie a aplicação:

    npm run start

Uso

Endpoints Principais

  • Produtos
    • GET /products: Lista todos os produtos
    • POST /products: Cria um novo produto
    • GET /products/:id: Retorna um produto específico
    • PUT /products/:id: Atualiza um produto específico
    • DELETE /products/:id: Deleta um produto específico
  • Categoria
    • GET /categories: Lista todas as categorias
    • POST /categories: Cria uma nova categoria
    • GET /categories/:id: Retorna uma categoria específica
    • PUT /categories/:id: Atualiza uma categoria específica-
    • DELETE /categories/:id: Deleta uma categoria específica
  • Usuários
    • POST /auth/signup: Registra um novo usuário
    • POST /auth/login: Autentica um usuário e retorna um token JWT

api-loja-restful-nest's People

Contributors

lmoraesdev avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.