Este projeto esta sendo desenvolvido como parte do processo seletivo para a vaga de estágio. O objetivo é criar um sistema backend robusto e escalável para gerenciar o estoque de produtos.
- Cadastro de produtos: Permite adicionar novos produtos ao estoque, incluindo nome, descrição, imagem, valor e quantidade inicial.
- Consulta de produtos: Exibe uma lista completa dos produtos cadastrados, com informações detalhadas sobre cada um.
- Edição de produtos: Permite alterar as informações de produtos existentes.
- Remoção de produtos: Remove produtos do estoque.
- Gerenciamento de entrada e saída: Permite registrar a entrada e saída de produtos do estoque, atualizando automaticamente a quantidade disponível.
- Controle de usuários: Permite cadastrar e gerenciar usuários, com diferentes níveis de permissão.
- Node.js: Ambiente de execução JavaScript para o backend.
- Express.js: Framework web para Node.js, utilizado para construir as rotas e APIs do sistema.
- MySQL: Banco de dados relacional para armazenar as informações dos produtos e usuários.
- Sequelize: ORM (Object-Relational Mapper) para interagir com o banco de dados MySQL de forma mais fácil e intuitiva.
- Bcrypt: Biblioteca para criptografar senhas de forma segura.
- jsonwebtoken: Biblioteca para gerar tokens de autenticação JWT.
- TypeScript: Linguagem de tipagem estática para JavaScript, adicionando mais segurança e organização ao código.
- Cors: Mecanismo de segurança que permite que aplicações web modernas se comuniquem com recursos em diferentes origens.
- Dotenv: Biblioteca que facilita o gerenciamento de variáveis de ambiente permitindo que informações sensíveis, como chaves de API e configurações, fiquem armazenadas separadamente do código, melhorando a segurança e a organização.
- Multer: Biblioteca de middleware que facilita o tratamento de upload de arquivos em requisições HTTP.
-
Clonar o repositório:
git clone (https://github.com/LauraJaneAntunes/api-estoque)
-
Instalar dependecias:
npm install
-
Configurar variavéis de ambiente:
renomeie o arquivo: envdeexemplo para .env e adicione suas senhas
-
Iniciar o projeto:
npm start