Desenvolvido durante módulo de backend na Trybe1 | agosto/2022.
O que foi desenvolvido
Para esse projeto, foi desenvolvida uma API RESTful com aplicações frontend e backend integradas através do docker-compose, que consomem um banco de dados.
Construí um backend dockerizado utilizando modelagem de dados através do Sequelize.
Foram respeitadas regras de negócio pré definidas pela Trybe, onde precisei garantir que a API desenvolvida fosse capaz de ser consumida pelo frontend provido dentro do projeto.
Destaco aqui uma das regras principais nesse desenvolvimento: para adicionar uma partida ou fazer alterações, o usuário deve estar logado. Essa verificação é feita através de um token válido.
Além disso, as tabelas teams
e matches
contam com um relacionamento para executar as devidas atualizações das partidas.
Observações
- Para esse projeto, foi disponibilizado pela Trybe toda a parte de frontend, sendo minha responsabilidade a criação do backend.
- O projeto foi desenvolvido com base em requisitos definidos pela Trybe dentro de um tempo pré determinado.
Básicas
- TypeScript
- Node.js
- cors
- dotenv
- express
- express-async-errors
Validações
- bcryptjs
- JWT
- Joi
Banco de Dados
- MySQL
- Sequelize
Testes
- Jest
- Mocha
- Chai
Metodologias utilizadas
- SOLID
- POO
- AGILE
Principais Desafios
-
Typescript com POO: projeto referencia para firmar esses conceitos.
-
Conceitos de SOLID: desenvolver o projeto buscando utilizar ao máximo esses conceitos.
-
Resultado geral (leaderboard): estruturar uma query SQL para que em uma única requisição, retornasse a classificação geral dos jogos (podendo ser filtrada por time da casa, visitantes e geral).
Hard Skills
- Principais hard skills desenvolvidas:
- TypeScript
- POO
- SOLID
Soft Skills
- Inteligência Emocional
- Autoliderança
- Gestão do Tempo
- Compartilhar conhecimentos com os demais alunos da Trybe
- Recorrer a mentorias para esclarecimento de dúvidas
Destaques
- Refatoração: manipulação de erros e validações.
- Testes: atingir cobertura de 100% da aplicação.
Footnotes
-
O programa conta com mais de 1.500 horas de aulas e aborda introdução ao desenvolvimento de software, front-end, back-end, ciência da computação, engenharia de software, metodologias ágeis e habilidades comportamentais. ↩