O intuito deste projeto foi juntar todos os aprendizados já obtidos ao longo do módulo de Back End e realizar a integração com uma aplicação já existente no Front End. Entre os conceitos aplicados, vale destacar:
- Docker e Docker-compose;
- MySQL/SQL Server;
- API com Express;
- Arquitetura MSC;
- Mocha, Chai e Sinon para os testes;
- Autenticação com JSONWebToken;
- Sequelize;
- TypeScript;
- POO (Programação Orientada à Objetos);
- SOLID.
Tudo isso rodando no motor do NodeJs.
Para o desenvolvimento, ficamos responsáveis por criar uma API que gerencia um Brasileirão! Nele, conseguimos obter as classificações geral dos times, a classificação dos mandantes e dos visitantes. Além disso, se autenticado, conseguimos adicionar, editar ou excluir partidas.
Para clonar o repositório para a sua máquina e instalar as dependências, basta rodar o comando:
- Para chave SSH
git clone git@github.com:andremoraes98/trybe-futebol-clube.git && cd trybe-futebol-clube && npm run compose:up
Ao executar este comando, toda a aplicação (o Front end, o Back end e o Banco de dados) estarão rodando localmente, via container do Docker.
Se não configurada uma porta específica em uma variável de ambiente, ela roda, por padrão, nas portas:
- Front end: 3000;
- Back end: 3001;
- Banco de Dados: 3002.
Depois que ela estiver rodando, basta acessar o localhost:3000 para ter acesso à aplicação e se divertir!
- Utilizar o TypeScript para desenvolver uma API;
- Tipar os principais recursos do Express;
- Validar o usuário através do JSON Web Token;
- Testar a aplicação com o Mocha, Chai e Sinon;
- Manipular e gerenciar tabelas no banco de dados, através de ORM;
- Desenvolver uma aplicaçao através do paradigma POO;
- Autenticar usuários com o JSONWebToken.
Ao todo, incluindo o requisito bônus, foram 35 requisitos: