O app de delivery é uma aplicação full-stack desenvolvida em React e Node.js, produzida em grupo com a proposta de ser um e-commerce semelhante ao iFood. Nesta aplicação, é oferecido acesso para clientes, vendedores e administradores. Essas três funções definem o que será exibido ou acessado pelo front-end. Após logar como cliente, será possível adicionar, remover e finalizar o pedido. Após finalizar o pedido, ele será definido como pendente, aguardando a atualização do vendedor para o status "Preparando", depois atualizado para "Em Trânsito" e, novamente no cliente, atualizado como entregue. Todas as fases do processo podem ser vistas abrindo dois navegadores com acessos divergentes, sendo uma das páginas como anônima.
- Bem-vindo ao App de delivery
- Preview
- Contexto
- Tecnologias e Ferramentas Utilizadas
- Instalação e Execução
- Git, GitHub e Histórico de Commits
- Lint
Visualização:
O App-De-Delivery é uma ferramenta que acessa a bases de dados, é permite aos usuários:
- Fazer login;
- Buscar por bebidas;
- Visualizar detalhes do pedido;
- Atualizar o status do pedido;
Quando logado como administrador
- É possivel cadastrar vendedores e clientes;
Este projeto utiliza as seguintes tecnologias e ferramentas:
- React.js | Biblioteca para criar interfaces de usuário.
- CSS | Linguagem de estilo.
- Context API | API utilizada para gerenciamento de estado.
- NodeJS | Plataforma de execução runtime baseda em javascript
- Mysql | Banco de dados relacional
- Sequelize | ORM Object-Relational Mapping para nodejs
- Express | Framework web para nodejs
- Trello | Ferramenta de gerenciamento de tarefas.
O React.js foi escolhido por ser uma das bibliotecas mais populares e amplamente utilizadas para criar interfaces de usuário. Além disso, o React.js é fácil de aprender e possui uma grande comunidade de desenvolvedores, o que torna mais fácil encontrar soluções para problemas comuns. A Context API foi utilizada para gerenciamento de estado, permitindo que informações importantes da aplicação sejam compartilhadas entre diferentes componentes, sem a necessidade de passá-las manualmente através de props. Isso torna o código mais limpo e fácil de entender. O Trello foi utilizado para gerenciamento de tarefas, seguindo metodologias ágeis durante o desenvolvimento. O Node.js foi incorporado para padronizar a linguagem tanto no front-end quanto no back-end e obter os benefícios da escalabilidade e eficiência, pois ele é capaz de lidar com vários tráfegos sem bloqueio e lida com solicitações com baixo consumo de recursos.
git clone git@github.com:JonathanProjetos/App-De-Delivery.git
cd App-De-Delivery
npm install
npm start
obs: o proprio script start executará tanto o back-end quanto o front-end.
- Dentro da pasta back-end existe o arquivo .env.example nele será nescessário remover o .example e oferecer a senha do seu mysql.
- customer
login: zebirita@email.com
senha: $#zebirita#$
- seller
login: fulana@deliveryapp.com
senha: fulana@123
- admin
login: adm@deliveryapp.com
senha: --adm2@21!!--
Este projeto utilizou a Especificação de Commits Convencionais, com alguns tipos da convenção Angular. Além disso, foi utilizado o pacote conventional-commit-cli para ajudar a seguir a convenção de commits. É importante utilizar a convenção de commits em projetos para manter o histórico de commits organizado e facilitar a leitura e o entendimento do que foi desenvolvido.
Durante o desenvolvimento deste projeto, foram utilizadas metodologias ágeis, que são práticas que valorizam a interação e colaboração entre os membros de uma equipe de desenvolvimento, visando uma entrega mais rápida e eficiente do projeto. A utilização dessas práticas é especialmente importante em projetos em grupo, pois ajuda a manter a equipe alinhada e a evitar atrasos e retrabalhos desnecessários. Para saber mais sobre as metodologias ágeis, confira o Manifesto Ágil.
- O projeto foi desenvolvido seguindo os padrões de Clean Code especificados pelo Lint da Trybe.