Skip to content
/ bff Public

📜 Guia BFF, elaborado por Enéas Almeida com o principal objetivo de facilitar os repasses de informações à equipe.

License

Notifications You must be signed in to change notification settings

venzel/bff

Repository files navigation

BFF

NPM

API com padrão arquitetural BFF e microserviços com Clean Architecture.

Papel do BFF

o BFF atua como uma interface simples entre o frontend e os microsserviços.

Vantagens

  • Separação das responsabildiades;
  • Fácil manutenção;
  • Melhor tratamento de erros no frontend;
  • Vários tipos de dispositivos podem chamar o back-end em paralelo;
  • Melhora a segurança;
  • Propriedade compartilhada de componentes pela equipe.

Desvantagens

  • Aumenta a latência;

BFF é semelhante a um servidor proxy entre o cliente e outras APIs externas, serviços, etc. Se a solicitação tiver que passar por outro componente, com certeza aumentará a latência. No entanto, a latência do BFF é insignificante em comparação com o alto uso de recursos do navegador se ele precisar trabalhar com vários serviços não otimizados para o frontend.

Stack

  • NodeJs/Express;
  • Typescript;
  • Docker (MongoDB, Redis);
  • Jest;

Padrão de projeto

Árvore do BFF

src
├── app.ts
├── framework
│   └── integrations
├── infra
│   ├── datasource
│   ├── httpclients
│   └── loggers
├── main
│   ├── adapters
│   ├── configs
│   ├── containers
│   ├── errors
│   ├── helpers
│   ├── index.ts
│   ├── mappers
│   ├── middlewares
│   └── routes
├── presentation
│   ├── contracts
│   ├── controllers
│   └── helpers
└── usecases
    ├── contracts
    ├── helpers
    └── user.usecase.ts

Referências

👉 O padrão BFF (Backend para Frontend): uma introdução
👉 BFF SoundCloud

Profile Made with 💙 by Enéas Almeida

About

📜 Guia BFF, elaborado por Enéas Almeida com o principal objetivo de facilitar os repasses de informações à equipe.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published