/trybe-futebol-clube

Desenvolvido durante o módulo de backend na Trybe em ago/2022. - CRUD | Node.JS | Sequelize | TypeScript | Docker | POO

Primary LanguageJavaScript

⚽ Trybe Futebol Clube ⚽

Desenvolvido durante módulo de backend na Trybe1 | agosto/2022.

📃 Sobre o Projeto

A aplicação

O TFC é um site informativo sobre partidas e classificações de futebol!

Exemplo app front

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.

Exemplo er-diagram

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.

🛠️ Ferramentas

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

Metodologias utilizadas
  • SOLID
  • POO
  • AGILE

⚔️ Desafios

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).

👩‍💻 Habilidades Desenvolvidas

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

Para evolução do Projeto

Destaques
  • Refatoração: manipulação de erros e validações.
  • Testes: atingir cobertura de 100% da aplicação.

Footnotes

  1. 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.