Esse é um projeto de Backend inspirado em algumas funcionalidades presentes no Facebook feito utilizando NodeJS, Express, Typescript e MySQL. Além disso, ele segue uma arquitetura em camadas simples:
- Presentation: responsável pela comunicação com agentes externos (como o Frontend)
- Data: responsável pela comunicação direta com o banco de dados
- Business: responsável pela lógica de negócio
Por fim, ressalta-se que a comunicação da camada
Data
e aBusiness
é feita através de interfaces denominadasGateway
, para possibilitar os testes unitários desta última camada (inversão de dependências)
Esse foi um projeto de Backend que utilizei para treinar os casos básicos de CRUD de uma API: Create, Read, Update e Delete. Para isso, utilizei um tema de redes sociais: login/signup/fazer amizade/desfazer amizade/criar post/feed/like e dislike de post. Além disso, pratiquei o feed reverso, aproveitei para ver conceitos sobre buscas por termos utilizando um banco relacional e práticar o deploy em uma infraestrutura real, no caso no Heroku.
- Heroku - https://futurebook-api.herokuapp.com
Pré-requisitos:
Possuir um arquivo .env
na raiz do projeto com as informações do banco de dados e com a chave secreta do jwt.
HOST=<Nome do host do banco>
USER=<Nome do usuário do banco>
PASS=<Senha do seu banco>
DB=<Nome do seu banco>
JWT_KEY=<Sua chave secreta do JWT>
As instruções são:
npm install
para instalar todas as dependênciasnpm run start
para rodar localmente o projetonpm run build
para gerar uma versão possível de ser deployada com os arquivos transpilados para Javascript
Igor Alves |
---|