Esta é uma aplicação web para gerenciamento de uma lista de produtos. O usuário pode criar, ler, atualizar e excluir produtos da lista.
O backend foi desenvolvido em Node.js com o framework Express, o frontend foi desenvolvido em React com o framework Next.js e o banco de dados utilizado é o MongoDB.
Esse projeto foi desenvolvido com as seguintes tecnologias:
Antes de executar a aplicação, certifique-se de ter instalado as seguintes ferramentas em sua máquina:
- Abra o terminal e clone o repositório
git clone https://github.com/aldemylla/Desafio-ServerSoftwares.git
- Entre no diretório criado
cd Desafio-ServerSoftwares
- Instale as dependências do backend:
cd backend
npm install
- Instale as dependências do frontend:
cd ../frontend
npm install
-
Renomeie o arquivo
.env.local.samplepara.env.local -
Edite o arquivo
.env.localpara configurar a URL do servidor backend
-
Renomeie o arquivo
.env.samplepara.env -
Edite o arquivo
.envpara configurar a conexão com o seu banco de dados MongoDB
- Inicie o servidor frontend dentro da pasta
/frontend:
npm run devEstará disponível no endereço http://localhost:3000.
- Inicie o servidor backend dentro da pasta
/backend:
npm run devEstará disponível no endereço http://localhost:3333.
- Listar produtos
- Criar produto
- Editar produto
- Excluir produto
O projeto possui uma API RESTful que pode ser utilizada para acessar as funcionalidades do CRUD. Os dados são enviados e recebidos em formato JSON. A API da aplicação possui as seguintes rotas:
Disponível em: https://desafio-serversoftwares2.onrender.com
[
{
"codigo": "001",
"descricao": "Produto 1",
"preco": "R9,99",
"_id": "60930064b96f5a0015e14e53",
"data_cadastro": "2023-04-13T20:24:42.931Z",
"__v": 0
},
{
"codigo": "002",
"descricao": "Produto 2",
"preco": "R19,99",
"_id": "60930084b96f5a0015e14e54",
"data_cadastro": "2023-04-13T20:24:42.931Z",
"__v": 0
}
]| Campo | Tipo | Descrição |
|---|---|---|
| codigo | string | Código do produto |
| descricao | string | Descrição do produto |
| preco | string | Preço do produto |
{
"codigo": "003",
"descricao": "Produto 3",
"preco": "R29,90"
}{
"codigo": "003",
"descricao": "Produto 3",
"preco": "R29,90",
"_id": "60930084b96f5a0015e14e54",
"data_cadastro": "2023-04-13T20:24:42.931Z",
"__v": 0
}| Nome | Tipo | Descrição |
|---|---|---|
| id | string | ID do produto |
[
{
"codigo": "001",
"descricao": "Produto 1",
"preco": "R9,99",
"_id": "60930064b96f5a0015e14e53",
"data_cadastro": "2023-04-13T20:24:42.931Z",
"__v": 0
}
]| Nome | Tipo | Descrição |
|---|---|---|
| id | string | ID do produto |
| Campo | Tipo | Descrição |
|---|---|---|
| codigo | string | Código do produto |
| descricao | string | Descrição do produto |
| preco | string | Preço do produto |
{
"codigo": "001",
"descricao": "Produto 1 atualizado",
"preco": "R14,99"
}{
"codigo": "001",
"descricao": "Produto 1 atualizado",
"preco": "R14,99",
"_id": "60930064b96f5a0015e14e53",
"data_cadastro": "2023-04-13T20:24:42.931Z",
"__v": 0
}| Nome | Tipo | Descrição |
|---|---|---|
| id | string | ID do produto |
Feito por Aldemylla 👋 Me encontre no LinkedIn!
