Giter Club home page Giter Club logo

product-stock-api's Introduction

Product Stock API

Icaro Tavares

This project is a boilerplate/setup of a Web API to be consumed by any Web Client like: Angular, React, Vue, etc... applications and can be integrated with any database.

Requirements

Installation

Install the dependencies and devDependencies and start the server.

$ git clone https://github.com/icarotav/product-stock-api.git
$ cd product-stock-api
$ npm install
$ npm run dev

For production environments...

$ npm start

Tech

To build this project I used most used techs, text editor and packages from npm:

Features

  • Modularized components
  • Easy to create new middlewares and apply in the server.
  • API handling all errors even if is not handled by developer like when omit .catch on Promises.
  • Code padronized by ESLint

Reference Links

product-stock-api's People

Contributors

icarogtavares avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

product-stock-api's Issues

Criar README.md

Criar o README.md com apresentação do projeto

  • Resumo da aplicação
  • Sumário
    • Requisitos
    • Instalação
    • Tecnologias
    • Funcionalidades
    • Links de referência

Instalação das bibliotecas para setup inicial do projeto

  • Instalação de bibliotecas de uso em produção
    • helmet para segurança da API
    • express-jwt para autenticação jwt
    • jsonwebtoken para manuseio dos tokens
    • mysql2 e sequelize para conexão com banco de dados
    • http-status para utilizar como ENUM dos status HTTP na API
    • dotenv para ler variáveis de ambiente
    • pm2 para gerenciamento da aplicação
  • Instalação de bibliotecas de uso em desenvolvimento
    • Nodemon para execução em desenvolvimento
    • Eslint e plugins para padronização do código
    • Mocha e Chai para testes

Configuração do setup inicial do projeto

  • Criar arquivo de configuração do logger em bin/logger
  • Criação do componente app-error para tratamento de erros
  • Tratamento de erros uncaughtException e unhandledRejection.
  • Criação do middleware para tratamento de erros
  • Configuração do eslint
  • Configuração do pm2
  • Configuração do sequelize
  • Criação do componente utils/jwt para tratamentos de jwt.

Criar modelo do banco de dados

Criar arquivo de modelagem do banco de dados para criação dos arquivos referentes às respectivas tabelas do banco no código

  • Produtos
  • Categoria do produto
  • Usuário
  • Venda

Configuração do ambiente de testes

Configuração do ambiente de testes automatizados com Mocha e Chai.

  • Criar configuração ESLINT dentro da pasta de testes
  • Criar configuração do Mocha
  • Criar helpers chai e request (requisições nos testes funcionais) com a biblioteca supertest
  • Criar arquivo exemplo de variáveis de ambiente para os testes
  • Criar script para rodar os testes
    • Criar script para rodar somente testes de funcionais
    • Criar script para rodar somente testes unitários

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.