Um app de delivery alternativo Open-Source
Desenvolvido com React Native e Expo.
Anteriormente a pandemia, os aplicativos de delivery já demonstravam um características que poderia alterar o comportamento do consumidor: a flexíbilidade de solicitar comida para os restaurantes gerou um movimento ainda maior e cada vez mais frequentes de deliverys. E isso provocou um novo perfil de consumo para o segmento gastronômico, especialmente para os estabelecimentos físicos.
A principal visão acerca de aplicações de delivery entorno do mercado de software é bem vasta, visto que possue inúmeros aplicativos que tem como objetivo auxiliar, de alguma forma, a compra de produtos alimentíceos.
Contudo, para estar investindo em plataformas de delivery, é necessário que o dono do estabelecimento possua um "capital de giro" considerável, para não sofrer prejuízos, pois, em alguns aplicativos que criaram um grande monopólio no setor, como o "Ifood" e o "Rappi", possuem taxas de utilização que podem variar em até 25% do preço do produto (Abrasel - 2022).
Conclui-se que a necessidade da criação de um sistema que integre o consumidor-final com o restaurante é de alta valia, já que permitirá que o consumidor esteja solicitando um produto rapidamente.
A partir disto, a fomentação de outras soluções para aplicativos de delivery tornou-se cada vez maior. A resoluçãp de tal problemática é apresentada através do desenvolvimento do aplicativo "WaiterApp”, cujo objetivo principal é facilitar a integração entre o consumidor final, que terá a possibilidade de estar solicitando o seu produto através da plataforma "Mobile" e, em tempo real, as informações que dizem respeito ao pedido serem visualizadas dentro do sistema interno do restaurante, tal sistema será uma aplicação "WEB".
Dentre as O sistema irá possuir diversas funcionalidades, dentre elas a possibilidade do cliente final estar realizando a compra de comida a partir do App Mobile, a visualização do histórico de pedios e a integração em tempo real dos pedidos dentro do Dashboard do Restaurante.
Mobile: React, React Native, Typescript, Expo, Styled-Components
Client: React, Vite, Styled-Components, Web-Sockets.
Server: Node, Express.
Database: PostgreSQL.
- Solicitação de Pedidos
- CRUD de Produtos
- Cross platform
GET /categories POST /categories| Parameter | Type | Description |
|---|---|---|
icon |
string |
Obrigatório. Ícone para a categoria |
name |
string |
Obrigatório. Nome para a categoria |
DELETE /categories/:categoryId| Parameter | Type | Description |
|---|---|---|
id |
string |
Obrigatório. Id para encontrar o item |
GET /products POST /products| Parameter | Type | Description |
|---|---|---|
imagePath |
string |
Obrigatório. Arquivo de imagem |
name |
string |
Obrigatório. Nome do Produto |
description |
string |
Obrigatório. Descrição do Produto |
price |
string |
Obrigatório. Preço do Produto |
category |
string |
Obrigatório. Id da Categoria para o Produto |
ingredients |
string |
Obrigatório. Ingredientes do Produto |
GET /categories/:categoryId/products| Parameter | Type | Description |
|---|---|---|
id |
string |
Obrigatório. Id da Categoria para encontrar o item |
DELETE /products/:productId| Parameter | Type | Description |
|---|---|---|
id |
string |
Obrigatório. Id do item |
GET /orders POST /orders| Parameter | Type | Description |
|---|---|---|
table |
number |
Obrigatório. Número da mesa ou pedido |
products |
string |
Obrigatório. ID e quantidade do produto |
PATCH /orders/:orderId'| Parameter | Type | Description |
|---|---|---|
orderId |
number |
Obrigatório. ID do pedido |
status |
enum |
Obrigatório. Status do Pedido - 'WAITING', 'IN_PRODUCTION', 'DONE |
DELETE /orders/:orderId| Parameter | Type | Description |
|---|---|---|
id |
string |
Obrigatório. Id do pedido |
Clone o projeto
git clone https://github.com/jp-prud/Waiter-App-RelacionalEntre no diretório do projeto
cd waiter-app-relacionalAcesse o diretório do back-end do projeto
cd back-endBaixe o Docker e instale através deste link
https://docs.docker.com/desktop/install/windows-install/Instale e Rode os schemas do BD - Schema dentro do repositório
docker run --name pg -e POSTGRES_USER=root -e POSTGRES_PASSWORD=root -p 5432:5432 -d postgresApós estes comandos, siga o processo abaixo para criar o Banco de Dados
docker exec -it pg bash
psql -U root root
CREATE DATABASE waiterapp;
Rode as criações de tabela presente dentro do arquivo de Schema.sql prasente dentro da pasta chamada database.
Instale as dependências e inicie o projeto.
yarn startPara rodar o Mobile, acesse a pasta "App" a partir do diretório raiz do projeto
cd appApós isto, faça o download do aplicativo do Expo através da loja de aplicativos e rode o comando abaixo e aponte seu dispositivo para o QrCode gerado.
yarn expo
