Bem-vindo ao projeto [Food Explorer]! Este é um sistema FullStack de um restaurante construído com [React/ViteJs] no frontend e [Node/Express] no backend.
Abaixo, você encontrará instruções sobre como configurar e executar o projeto em sua máquina local.
Ou se preferir acessar o projeto com a conta do Cliente ou do Administrador:
Admin:
login: [email protected]
senha: 123456
Cliente:
login: [email protected]
senha: 123456
- Node.js - A versão recomendada é [inserir versão aqui].
- npm (gerenciador de pacotes Node.js) - Geralmente, é instalado automaticamente com o Node.js.
- Clone este repositório ou faça o Download do projeto em sua máquina:
git clone https://github.com/seu-usuario/seu-projeto.git
- Entre no diretório do projeto
cd explorer-desafio-final
- Instale as node_modules da API executando o comando abaixo:
cd api
- Instale as dependências
npm install
- Inicie o servidor
npm run dev
🥳 Parabéns servidor Online! 🎉
- Agora em Outro Terminal você precisa Instalar as dependências e rodar Frontend em sua máquina. Entre no diretório do projeto
cd explorer-desafio-final
- Instale as node_modules da API executando o comando abaixo:
cd web
- Instale as dependências
npm install
- Inicie o Cliente Web
npm run dev
- Agora é só acessar o link em seu navegador:
➜ http://localhost:5173/
🥳 Parabéns Cliente Web Online! 🎉
POST /users
Parâmetro | Tipo | Descrição |
---|---|---|
name |
string |
Obrigatório. Seu nome |
email |
string |
Obrigatório. Email único |
password |
string |
Obrigatório. Criação de uma senha. |
avatar |
string |
Enviar um foto. |
PUT /users
Parâmetro | Tipo | Descrição |
---|---|---|
name |
string |
Obrigatório. Seu nome |
email |
string |
Obrigatório. Email único |
password |
string |
Obrigatório. Criação de uma senha. |
avatar |
string |
Enviar um foto. |
Essa busca o token no Cookie do navegador do usuário se o token ainda está validado para encaminha-lo para página Home, ou se o mesmo expirou encaminhando para a página de SignIn.
GET /users/validated
Parâmetro | Tipo | Descrição = false | Descrição = true |
---|---|---|---|
request.user.id |
string |
"Unauthorized", 401 | response.status(200) |
POST /sessions
Parâmetro | Tipo | Descrição |
---|---|---|
email |
string |
email do usuário |
password |
string |
senha de acesso |
GET /foods/?categoryFood=meal
Retorna todos os items da categoria "meal"
[
{
"id": 1,
"title": "Camarão",
"category": "meal",
"url_image": "7c7e5a42dfaa36bacd7c-Mask-group-2.png",
"price": 10000,
"description": "Um exemplo de descrição de uma Prato de camarão.",
"created_at": "2024-01-18 13:52:47",
"updated_at": "2024-02-14 15:24:25",
"ingredients": [
"arroz",
"camarão",
"molho branco"
]
},
{
"id": 15,
"title": "Forafa",
"category": "meal",
"url_image": "c443ba83806eca09a122-Mask-group-2.png",
"price": 450000,
"description": "Farofa deliciosa com Alho",
"created_at": "2024-01-31 11:20:48",
"updated_at": "2024-02-05 19:26:29",
"ingredients": [
"farinha",
"Alho"
]
}
]
Sobremesas
GET /foods/?categoryFood=dessert
Bebidas
GET /foods/?categoryFood=drink
POST /foods
Parâmetro | Tipo | Descrição |
---|---|---|
title |
string |
* Nome do prato. |
category |
string |
* Categoria do prato. |
ingredients |
Array |
* Informar todos os ingredientes. |
price |
Integer |
* Informar o preço |
description |
String |
* Sua Nota para o filme de 0 a 5. |
url_image |
String |
Envio da foto do prato: upload do arquivo. |
- Campos obrigatórios *
GET /foods/:id
Buscar o item pelo id
exemplo: http://localhost:5173/foods/15
[ {
"id": 15,
"title": "Forafa",
"category": "meal",
"url_image": "c443ba83806eca09a122-Mask-group-2.png",
"price": 450000,
"description": "Farofa deliciosa com Alho",
"created_at": "2024-01-31 11:20:48",
"updated_at": "2024-02-05 19:26:29",
"ingredients": [
"farinha",
"Alho"
]
}
]
- Logout no sistema ✅
- Criação de Usuários ✅
- Login no sistema por autenticação ✅
- Remover pratos dos favoritos ( 🧑💻
Em desenvolvimento
) - Atualizar Cadastro do Usuário ( 🧑💻
Em desenvolvimento
) - Adicionar pratos aos favoritos ( 🧑💻
Em desenvolvimento
)
- Criar prato ✅
- Editar prato ✅
- Deletar prato ✅
- Deletar Usuário ( 🧑💻
Em desenvolvimento
) - Atualizar Perfil ( 🧑💻
Em desenvolvimento
) - Mudar status dos pedidos. ( 🧑💻
Em desenvolvimento
) - Mudar status do pagamento. ( 🧑💻
Em desenvolvimento
) - Notificar o cliente por whatsapp/Email ( 🧑💻
Em desenvolvimento
)
- Home ✅
- SignIn ✅
- SignUp ✅
- Novo Prato ✅
- Menu Mobile ✅
- Editar pratos ✅
- Detalhes do prato ✅
- Pedidos ( 🧑💻
Em desenvolvimento
) - Favoritos ( 🧑💻
Em desenvolvimento
) - Pagamentos ( 🧑💻
Em desenvolvimento
) - Status dos pedidos ( 🧑💻
Em desenvolvimento
) - Perfil Usuário/Admin ( 🧑💻
Em desenvolvimento
)
Front-end: React + Vite, Styled components, Swiper, Axios.
Back-end: Node, Express, Knex, SQLite, JWT, Brcrypt, Cookie, Cors, Multer, Nodemoon.
Eu sou uma pessoa desenvolvedora full-stack.. Tone Lopes