Este projeto é um teste técnico proposto pelo Instituto Desenvolvimento Tecnológico - INDT para a vaga de Desenvolvedor Full Stack Jr
O teste consiste em desenvolver um CRUD para gerenciar produtos e foi dividido em duas partes (Frontend e Backend) e foi desenvolvido utilizando TypeScript e Angular
Também foi usado SQLite para o banco de dados
Para executar os sistemas deste repositório é necessário posuir:
Node.js: https://nodejs.org/en/download/
Gerenciador de pacotes do Node (NPM): https://www.npmjs.com/
Para executar o Backend da aplicação é necessário executar os seguintes comandos:
cd backend
npm install
npm run dev:server
A API de produtos pode ser acessada através do endereço:
http://localhost:3333
Para executar o Frontend da aplicação é necessário executar os seguintes comandos:
cd frontend
npm install
npm start
O frontend da aplicação pode ser acessado através do endereço:
http://localhost:4200
Esta API possui funcionalidades básicas para realizar o gerenciamento de produtos, é possível executar as seguintes operações
Listar produtos
Cadastrar produtos
Atualizar produtos
Excluir produtos
GET /api/products
Este endpoint retorna dados de todos os produtos cadastrados no sistema
POST /api/products
Este endpoint permite cadastrar um novo produto
Request
Name | Required | Description |
---|---|---|
nome | true | Nome do produto |
descricao | true | Descrição do produto |
valor | true | Valor do produto |
imagem | true | Descrição do produto |
disponivel | true | Informa se o produto esta disponível para venda |
GET /api/products/:id
Este endpoint permite visualizar um produto cadastrado, retorna 404 caso não encontrado
Parâmetros
Name | Required | Description |
---|---|---|
id | true | ID do produto |
PUT /api/products/:id
Este endpoint permite atualizar um produto cadastrado
Parâmetros
Name | Required | Description |
---|---|---|
id | true | ID do produto |
Request
Name | Required | Description |
---|---|---|
nome | true | Nome do produto |
descricao | true | Descrição do produto |
valor | true | Valor do produto |
imagem | true | Descrição do produto |
disponivel | true | Informa se o produto esta disponível para venda |
DELETE /api/products/:id
Este endpoint permite excluir um produto cadastrado, retorna 404 caso não encontrado
Parâmetros
Name | Required | Description |
---|---|---|
id | true | ID do produto |