https://github.com/alexsandro-ms/boosu
Boosu é um web app e mobile, criado com o intuito de integrar o garçom com a cozinha.
https://github.com/alexsandro-ms/boosu
full-stack node react react-native restaurant restaurant-management typescript waiter-app
Last synced: 3 months ago
JSON representation
Boosu é um web app e mobile, criado com o intuito de integrar o garçom com a cozinha.
- Host: GitHub
- URL: https://github.com/alexsandro-ms/boosu
- Owner: Alexsandro-ms
- Created: 2022-11-21T23:59:21.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-12-03T17:17:04.000Z (almost 3 years ago)
- Last Synced: 2025-03-03T06:24:57.513Z (8 months ago)
- Topics: full-stack, node, react, react-native, restaurant, restaurant-management, typescript, waiter-app
- Language: TypeScript
- Homepage:
- Size: 1.73 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Boosu
Boosu é um web app e mobile, criado com o intuito de integrar o garçom com a cozinha.
### Clonando Repositório
Abra seu terminal e clone o repositório
```bash
$ git clone https://github.com/Alexsandro-ms/boosu.git
```## Demonstração
Criação de pedidos a partir do app mobile e alteração, do status de pedido aparti do app web.

## Stack utilizada
**Front-end:** React, Axios, Styled Components e Typescript.
**Back-end:** Node, Express, Multer, Socket.Io, Typescript, Mongoose e MongoDb Atlas.
**Mobile:** React Native, Styled components, Axios, Expo e Typescript.
## Api
### Funcionalidades
- Listagem de categorias
- Criação de categorias
- Listagem de produtos por categorias
- Listagem de produtos
- Criação de produtos
- Listagem de ordens / pedidos
- Mudança do status de ordens / pedidos
- Deletar / cancelar ordens / pedidos
- Criar ordens / pedidos### Variáveis de Ambiente
Para rodar esse projeto, você deverá criar um arquivo .env na pasta de api, e adicionar as seguintes variáveis:
`PORT` Porta na qual o servidor vai rodar.
`MONGOOSE_URL` Url do seu banco de dados.
### Instalação
Em seu terminal, acesse o diretório que foi clonado o repositório, logo então:
```bash
cd api
npm install ## ou yarn
npm run dev ## ou yarn dev
```## Documentação da API
### Categorias
#### Retorna todas as categorias
```http
GET /categories/
```#### Cria uma nova categoria
```http
POST /categories/
```| **Requisição** | **Tipo** | **Descrição** |
| :------------- | :------- | :-------------------------------------------------------- |
| `icon / name` | `string` | Obrigatório. O nome e icone da categoria que deseja criar |#### Retorna produtos por categorias
```http
GET /categories/${categoryId}/products
```| **Parâmetro** | **Tipo** | **Descrição** |
| :------------ | :------- | :----------------------------------------------------------- |
| `id` | `string` | Obrigatório. O ID da categoria que deseja listar os produtos |### Produtos
#### Retorna todos os produtos
```http
GET /products
```#### Cria um novo produto
```http
GET /products
```| **Headers** | **Tipo** | **Descrição** |
| :------------- | :--------------------------------- | :----------------------------------------------------------- |
| `Content-type` | `multipart/form-data` | Obrigatório. O ID da categoria que deseja listar os produtos |
| **Requisição** | **Tipo** | **Descrição** |
| `name` | `string` | Obrigatório. Nome do produto |
| `description` | `string` | Obrigatório. Descrição do produto |
| `image` | `file` | Obrigatório. Imagem do produto |
| `price` | `number` | Obrigatório. Preço do produto |
| `category` | `string` | Obrigatório. Id da categoria do produto |
| `ingredients` | `string[{"name": "", "icon": ""}]` | Obrigatório. Ingredientes do produto |### Ordem / Pedidos
#### Retorna todos as ordens/pedidos
```http
GET /orders/
```#### Mudança no status de ordens/pedidos
```http
PATCH /orders/${id}
```| **Parâmetro** | **Tipo** | **Descrição** |
| :------------- | :------- | :---------------------------------------------- |
| `id` | `string` | Obrigatório. O ID do item que você quer alterar |
| **Requisição** | **Tipo** | **Descrição** |
| `status` | `string` | Obrigatório. Novo status da order |#### Apagar/cancelar uma ordem/pedido
```http
DELETE /orders/${id}
```| **Parâmetro** | **Tipo** | **Descrição** |
| :------------ | :------- | :---------------------------------------------- |
| `id` | `string` | Obrigatório. O ID do item que você quer deletar |```http
POST /orders/
```| **Requisição** | **Tipo** | **Descrição** |
| :------------- | :------------------------------------------ | :------------------------------------------------------------------------------- |
| `table` | `number` | Obrigatório. Número da mesa |
| `products` | `string[{"productId": "", "quantity": 0"}]` | Obrigatório. Array de produtos que recebe ID do produto e quantidade de produtos |## Web
## Funcionalidades
- Listagem de ordens / pedidos
- Mudança no status de ordens / pedidos
- Cancelamento / deletar ordens / pedidos## Instalação
Com o terminal aberto, digite:
```bash
cd ../web
npm install ## ou yarn
npm run dev ## ou yarn dev
```## Mobile
## Funcionalidades
- Listagem de produtos
- Criação de ordens / pedidos
- Seleção de produtos por categoria### Instalação
Ainda com terminal aberto:
```bash
cd ../mobile
npm install ## ou yarn
npm run ## ou yarn expo start
```### Rodando
Após instalar as dependências e rodar o servidor, baixe o app do expo go na play store e apple store, após baixar, leia o qr code que aparece no terminal.
## Autores
- [@alexsandrom-s](https://www.github.com/alexsandro-ms)
## Licença
Para informações de uso, modificação, distribuição e etc... Ler a licença abaixo:
[MIT](https://choosealicense.com/licenses/mit/)