Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/malcarale/back-end-foodexplorer
Projeto BackEnd do projeto final Food Explorer
https://github.com/malcarale/back-end-foodexplorer
expressjs javascript jsonwebtoken knex multer nextjs nodejs postresql
Last synced: 1 day ago
JSON representation
Projeto BackEnd do projeto final Food Explorer
- Host: GitHub
- URL: https://github.com/malcarale/back-end-foodexplorer
- Owner: MalcarAle
- Created: 2023-12-22T13:04:19.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-01-16T22:32:25.000Z (10 months ago)
- Last Synced: 2024-10-13T05:24:51.112Z (about 1 month ago)
- Topics: expressjs, javascript, jsonwebtoken, knex, multer, nextjs, nodejs, postresql
- Language: JavaScript
- Homepage: https://food-explorer-mv.netlify.app/
- Size: 4.36 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
ExplorerFood - Rocketseat Explorer :rocket:
Bem-vindo ao ExplorerFood, o projeto final do curso Rocketseat Explorer.
O desafio engloba desenvolver o front-end e o back-end da aplicação, além de realizar o deploy.---
## 💻 Sobre
O ExplorerFood representa uma plataforma online exclusiva para estabelecimentos gastronômicos. Após a conclusão do registro, os usuários têm à disposição a criação de pedidos e o acompanhamento em tempo real de seu status. Adicionalmente, a plataforma oferece recursos como personalização de perfil, filtragem de favoritos, busca avançada e um canal direto de comunicação com o restaurante. O carrinho de compras é totalmente interativo, proporcionando aos usuários a escolha entre duas formas de pagamento: cartão ou Pix. Os administradores possuem total controle sobre a gestão de pratos, desde a criação até a remoção, além da habilidade de atualizar dinamicamente o status dos pedidos, refletindo instantaneamente para os consumidores. O projeto apresenta diversas características adicionais, incluindo a flexibilidade de personalizar o tema da página, ajustar o perfil do usuário (avatar, nome e senha) e proporcionar uma experiência visual envolvente. Destaca-se que o design é adaptável para diversos dispositivos!
Este repositório abrange os arquivos do Frontend em React.js e do BackEnd em Node.js.
---
## 🖼️ Layout
Abaixo algumas imagens do layou, este modelo para DeskTop:
![explorerfood vercel app_](https://user-images.githubusercontent.com/106932234/204163348-5f06ae24-3ede-4bae-b68a-770493d1a286.png)
![explorerfood vercel app_ (1)](https://user-images.githubusercontent.com/106932234/204163350-1d4c8a96-f68a-4eb0-aa8e-5343e2681749.png)
Você pode visualizar o layout completo do projeto através [DESSE LINK](https://www.figma.com/file/LOMJWIopGI0VwmAU9aT2YS/food-explorer-v2?node-id=201-1532&t=zm3uJVZpfRMLBSLd-0). É necessário ter conta no [Figma](https://figma.com) para acessá-lo.
---
## 🧑💻 Tecnologias
Aqui algumas das tecs utilizadas no projeto:
### Front
- `ReactJS`
- `Vite`
- `Axios`
- `swiper`
- `LocalStorage`
- `styled-components`
- `react-router-dom`
- `react-select`
- `react-input-mask`
- `react-icons`### Back
- `Node.js`
- `Express`
- `Postgre`
- `Knex.js`
- `Autenticação`
- `JWT`
- `Middlewares`
- `Upload de imagens`
- `API Restful`
- `Cors`
- `PM2`
- `Deploy e utilização do render`
- `Variáveis de ambiente`
- `Testes automatizados`
- `Jest`---
## 🚀 Como iniciar
Clone o projeto para o local desejado em seu computador.
````bash
$ git clone [email protected]:MalcarAle/front-end-FoodExplorer.git
$ git clone [email protected]:MalcarAle/back-end-FoodExplorer.git#### 💻 Executando o FrontEnd
```bash# Faça a instalação das dependencias
$ npm install# Agora inicie o servidor do FrontEnd
$ npm run dev# O terminal irá exibir o endereço local onde a aplicação está sendo executada. Basta digitar o mesmo endereço em seu navegador preferido. O endereço usado na criação do projeto foi este:
http://localhost:5173/
````
#### 🚧 Executando o BackEnd
```bash
# No BackEnd insira uma porta e um secret no arquivo .env vazio
AUTH_SECRET=
PORT=# Aqui pode ser feita a configuraçao do banco POSTGRE
DB_HOST=
DB_PORT=
DB_USER=
DB_PASS=
DB_NAME=# Faça a instalação das dependencias
$ npm install# Agora inicie o servidor do BackEnd
$ npm run dev
```
## Endpoints
OBS: Você pode criar os endpoints abaixo e realizar os testes
### Users
`POST`:
```bash
/users/
```para criar um usurário administrador, basta fazer uma requisição em /users/, informando o nome, email, senha e isAdmin = 1; (int).
### Authenticate (login)
`POST`:
```bash
/sessions/
```### Favorites (pratos favoritos do usuário)
`POST`:
```bash
/favorites/
````GET`:
```bash
/favorites/
````DELETE`:
```bash
/favorites/:id
```### Dishes
`POST`:
```bash
/dishes/
````PUT`:
```bash
/dishes/:id
````DELETE`:
```bash
/dishes/:id
````GET`:
```bash
/dishes/
````GET`:
```bash
/dishes/:id
````PATCH`:
```bash
/dishes/photo/:id
```### Requests (produtos adicionados no carrinho)
`POST`:
```bash
/requests/
````GET`:
```bash
/requests/
````DELETE`:
```bash
/requests/:id
```### Purchases (compras finalizadas)
`POST`:
```bash
/purchases/
````GET`:
```bash
/purchases/
````PATCH`:
```bash
/purchases/:id
```