/foodx

🥡 A plataforma Foodx, irá possibilita usuários a está fazendo compras dentro do nosso aplicativo, após a compra o cliente irá receber seu pedido no conforto de sua casa.

Primary LanguageTypeScript

FoodX.


🎯 Sobre

O FoodX é uma plataforma WEB e MOBILE para compra de qualquer tipo de comida ou bebida, isso fica a preferência do usuário.

A API do FoodX irá servir os dados para a plataforma WEB e Mobile disponível para Android.

Aplicação Utilizada para Teste

Todas as rotas foram testadas utilizando o Insomnia.

Recursos da API

👥 Criação de perfil de usuário

  • Permite que um usuário consiga criar a sua conta no sistema;
  • Permite que um usuário consiga buscar suas informações;
  • Permite que um usuário consiga criar a sua conta sem cadastrar uma foto de perfil;
  • Permite que um usuário consiga criar a sua conta sem cadastrar uma cartão de crédito;

🔒 Recuperação de senha

  • Permite que um usuário consiga recuperar a senha informando o e-mail cadastrado;
  • A API envia para o usuário um e-mail con instruções de recuperação de senha;
  • A API envia um link com token por e-mail para resetar a senha e por segurança o token enviado expira em 2h;
  • Cadastro e autenticação de usuários com geração de JwToken;
  • Autenticação de usuários com JwToken;

👥 Atualização de perfil de usuário

  • Permite usuário cadastrar-se no sistena e atualizar seu perfil (incluindo imagem de avatar);
  • Validação de e-mails no cadastro, não é possível cadastrar dois usuários com mesmo e-mail;
  • Para atualizar a senha, o usuário deve informar a senha antiga e a nova senha;

📅 Agendamento de serviços

  • Usuário poderá está fazendo agendamento para receber um pedido em terderminado horário;

:shope: Fazeer Comprar no sistema

  • Usuário poderá está fazendo uma compra de um ou mais produtos em nosso sistema;
  • Usuário para fazer uma comprar no sistema ele terá que está cadastrado e deverá está autenticado na hora de fazer seu pedido;
  • Usuário poderá fazer uma comprar, e ele poderá estar passando seu pedido no crédito ate 3x;
  • Usuário poderá está escolhendo o produto de preferência e adicinar ao carrionho e comprar mais tarde ou ate no outro dia;
  • Usuário poderá está fazendo sua escolha, receber o pedido em casa ou ir fazer sua própia retirada no estabelecimento;
  • Usuário quando fizer seu pedido, durante os primeiro 5 minutos ele poderá está fazendo o cancelamento sem ser cobrado algum valor sobre o pedido;
  • Usuário quando fizer seu pedido, ele será capaz de está acompanhando a entrega do pedido atè a sua casa em tempo real;
  • Usuário quando seu pedido estiver a caminho ele poderá está fazendo uma ligação para o motoboy ou estabelecimento;

Banco de Dados e Estratégias de Armazenamento

Para banco de dados, foi utilizado o Mysql para armazenar os dados que envolvem relacionamentos da regra de negócio da aplicação.

Ferramentas, Técnicas e Bibliotecas da API

  • Aplicação Utilizando a Metodologia Clean-Code (Clean-Code);
  • Utilização do nestjs Nest. js é um framework para construir backend em Node. js que trás o modelo arquitetural mais utilizado atualmente de maneira fácil, e aproveitando os principais frameworks.
  • Utilização do typescript para fazer tipagem em noso código;
  • Utilização do mysql para fazer armazenamento da nossas informações;
  • Utilizado o uuid Um identificador único universal (do inglês universally unique identifier - UUID);
  • Utilização do jwt para trabalhar com autenticação de usuário;
  • Utilização do bcrypt.js para trabalhar com hash de senhas de usuário exe: [h84uh734f3];

👨🏻‍💻 Roda Projeto em Sua Máquina

  • Clone the project
  git clone https://github.com/Weverson-Luan/FOODX.git
  • Go to the project directory
  cd food-x
  • Install dependencies
  npm install or yarn install
@Weverson Luan Sousa - 2022