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.
Todas as rotas foram testadas utilizando o Insomnia.
👥 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;
Para banco de dados, foi utilizado o Mysql para armazenar os dados que envolvem relacionamentos da regra de negócio da aplicação.
- 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];
- 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