Skip to content

Desafio Rocketseat - Nesse desafio desenvolveremos uma API para controle de encomendas de uma transportadora fictícia, a FastFeet.

Notifications You must be signed in to change notification settings

bruno-valero/fast-feet-api-desafio-rocketseat

Repository files navigation

FastFeet API - Desafio Rocketseat

Typescript Badge NodeJS Badge NestJS Badge

Nesse desafio desenvolveremos uma API para controle de encomendas de uma transportadora fictícia, a FastFeet.

Confira o enunciado do desafio no Notion

Requisitos Funcionais

  • A aplicação deve ter dois tipos de usuário, entregador e/ou admin
  • Deve ser possível realizar login com CPF e Senha
  • Deve ser possível realizar o CRUD dos entregadores
  • Deve ser possível realizar o CRUD das encomendas
  • Deve ser possível realizar o CRUD dos destinatários
  • Deve ser possível marcar uma encomenda como aguardando (Disponível para retirada)
  • Deve ser possível retirar uma encomenda
  • Deve ser possível marcar uma encomenda como entregue
  • Deve ser possível marcar uma encomenda como devolvida
  • Deve ser possível listar as encomendas com endereços de entrega próximo ao local do entregador
  • Deve ser possível alterar a senha de um usuário
  • Deve ser possível listar as entregas de um usuário
  • Deve ser possível notificar o destinatário a cada alteração no status da encomenda

Regras de Negócio

  • Somente usuário do tipo admin pode realizar operações de CRUD nas encomendas
  • Somente usuário do tipo admin pode realizar operações de CRUD dos entregadores
  • Somente usuário do tipo admin pode realizar operações de CRUD dos destinatários
  • Para marcar uma encomenda como entregue é obrigatório o envio de uma foto
  • Somente o entregador que retirou a encomenda pode marcar ela como entregue
  • Somente o admin pode alterar a senha de um usuário
  • Não deve ser possível um entregador listar as encomendas de outro entregador

Requisitos Não Funcionais

  • os dados devem ser persistidos num banco de dados postgreSql
  • as fotos comprovando a entrega devem ser armazenadas no cloudfare R2
  • Devem se realizados testes unitários para todas as funcionalidades
  • Devem se realizados testes end-to-end para todas as rotas http
  • Deve ser implementado o CI (Continuous Integration) através das Github Actions

About

Desafio Rocketseat - Nesse desafio desenvolveremos uma API para controle de encomendas de uma transportadora fictícia, a FastFeet.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published