https://beer-delivery-2ev0cxz53-starambients.vercel.app/login
Este repositório contém o código do frontend da aplicação de entrega de cerveja. O objetivo desta aplicação é permitir que os usuários pesquisem e solicitem entrega de cervejas de diversos estabelecimentos.
Para instalar as dependências e executar o projeto, siga os seguintes passos:
- Clone este repositório para a sua máquina local:
git clone https://github.com/StarAmbients/beer-delivery-app.git
- Acesse o diretório do projeto:
cd beer-delivery-app/frontend
- Instale as dependências:
npm install
- Execute o projeto:
npm start
O projeto será iniciado em modo de desenvolvimento e abrirá automaticamente em um navegador. Qualquer alteração nos arquivos do projeto resultará em uma atualização automática da página no navegador.
Este projeto foi criado com create-react-app e utiliza as seguintes dependências:
A estrutura de arquivos do projeto é a seguinte:
frontend ├── public │ ├── favicon.ico │ ├── index.html │ └── manifest.json └── src ├── assets ├── components ├── services ├── utils ├── App.js ├── index.js ├── serviceWorker.js └── setupTests.js
- A pasta
public
contém arquivos estáticos, como o arquivo HTML principal da aplicação e o ícone da aplicação. - A pasta
src
contém o código fonte da aplicação.- A pasta
assets
contém arquivos de mídia utilizados pela aplicação, como imagens. - A pasta
components
contém os componentes React da aplicação. - A pasta
services
contém código responsável por fazer requisições HTTP para a API da aplicação.
- A pasta
We are following diligently Figma instructions for styling the output https://www.figma.com/file/cNKu41RhnPIgNqrbMTzmUI/Project%3A-Delivery-App?node-id=0%3A1&t=yPP4zekNmPobc39S-3
Este é o backend da aplicação de entrega de cerveja. Ele foi construído com as seguintes tecnologias:
- Clone este repositório com
git clone https://github.com/StarAmbients/beer-delivery-app.git
- Entre na pasta do projeto com
cd beer-delivery-app/back-end
- Instale as dependências do projeto com o comando
npm install
- Crie um arquivo
.env
com as variáveis de ambiente necessárias (veja o arquivo.env.example
como referência) - Inicie o servidor com o comando
npm start
- Acesse a API em
http://localhost:3000
- Crie um arquivo
.env.test
com as variáveis de ambiente necessárias (veja o arquivo.env.test.example
como referência) - Execute os testes com o comando
npm test
A tabela a seguir descreve as rotas da API e os métodos HTTP suportados:
Rota | Métodos HTTP | Descrição |
---|---|---|
/beers |
GET | Lista todas as cervejas |
/beers |
POST | Cria uma nova cerveja |
/beers/:id |
GET | Retorna uma cerveja específica |
/beers/:id |
PUT | Atualiza uma cerveja específica |
/beers/:id |
DELETE | Exclui uma cerveja específica |
/orders |
GET | Lista todos os pedidos |
/orders |
POST | Cria um novo pedido |
/orders/:id |
GET | Retorna um pedido específico |
/orders/:id |
PUT | Atualiza um pedido específico |
/orders/:id |
DELETE | Exclui um pedido específico |
/delivery-status/:id |
GET | Retorna o status de entrega de um pedido específico |
Aqui estão algumas sugestões de melhorias que consideraremos para o repositório de projeto mencionado:
-
Adicionar testes unitários para garantir a qualidade do código e facilitar futuras alterações.
-
Adicionar documentação detalhada para os componentes e funções, para que outras pessoas possam entender facilmente como o código funciona.
-
Considerar a utilização de uma biblioteca de componentes de interface do usuário, como o React Bootstrap, para tornar a aplicação mais fácil de usar e aprimorar a aparência.
-
Adicionar funcionalidades adicionais, como o pagamento online ou o acompanhamento do pedido em tempo real.
-
Otimizar o código para melhorar o desempenho da aplicação. Isso pode incluir a minimização de recursos, como imagens e scripts JavaScript, ou a utilização de técnicas de otimização de código, como lazy loading.
-
Considerar a implementação de uma estratégia de resposta a falhas, para garantir que a aplicação continue funcionando mesmo em caso de falhas ou problemas de rede.
-
Adicionar suporte para idiomas adicionais, para que a aplicação possa ser utilizada por um público mais amplo.
LOGIN Nosso formulário de login/registro para uma aplicação React usa um formulário que é gerenciado pelo estado local (useState) e se comunica com o backend por meio da função makeRequest. Quando o usuário submete o formulário, o evento é gerenciado por handleLogin ou handleRegister, dependendo da página atual. A rota da aplicação é gerenciada pelo useNavigate do react-router-dom. O token retornado da API é armazenado no armazenamento local do navegador (localStorage) e na store do usuário (userStore). O email do usuário é validado com o EmailValidator. Alguns estilos são aplicados ao formulário a partir do arquivo styles/userForm.style. O componente ThirdPartySignIns também é importado.