Skip to content

pedrohxiv/trybe-soccer-club

Repository files navigation

Projeto TFC - Trybe Futebol Clube

O TFC (Trybe Futebol Clube) é um site informativo sobre partidas e classificações de futebol! Neste projeto, fui responsável por desenvolver uma API dockerizada utilizando modelagem de dados por meio do Sequelize. O desenvolvimento seguiu as regras de negócio fornecidas no projeto e a API é capaz de ser consumida por um front-end já fornecido no projeto. Para adicionar uma partida, é necessário possuir um token de autenticação, o que significa que o usuário deve estar logado para fazer as alterações. Também há um relacionamento entre as tabelas "teams" (times) e "matches" (partidas) para atualizar as partidas.

Este projeto é composto por 4 fluxos principais:

  1. Teams (Times): Aqui lida com as informações sobre times de futebol.

  2. Users e Login (Pessoas Usuárias e Credenciais de Acesso): Este fluxo envolve o gerenciamento de usuários e a autenticação.

  3. Matches (Partidas): Aqui trabalha com a criação e gerenciamento de partidas de futebol.

  4. Leaderboards (Placares): Este fluxo trata da classificação das equipes após as partidas.

Ao desenvolver este projeto, tive a oportunidade de desenvolver várias habilidades importantes relacionadas ao desenvolvimento de software e à construção de aplicativos web. Algumas das habilidades que podem ser desenvolvidas incluem:

  1. Desenvolvimento Web Back-End: Aprenderi a construir um back-end robusto para uma aplicação web, lidando com a lógica de negócios, gerenciamento de banco de dados, autenticação e autorização de usuários.

  2. Trabalho com Bancos de Dados: Ganhei experiência em modelagem de dados, configuração de bancos de dados (como o MySQL) e uso de ORMs (como o Sequelize) para interagir com o banco de dados.

  3. APIs Restful: A construção de uma API Restful envolve a criação de rotas, manipulação de solicitações HTTP (GET, POST, PUT, DELETE) e retorno de respostas formatadas em JSON. Isso me ajudou a entender como a comunicação entre clientes e servidores funciona na web.

  4. Testes Automatizados: Desenvolvi testes unitários e de integração ajuda a garantir que sua aplicação funcione conforme o esperado e permite que você faça alterações com confiança sem quebrar recursos existentes.

  5. Segurança da Aplicação: A implementação de autenticação e autorização é crucial para proteger a API contra acesso não autorizado. Isso envolve o uso de tokens JWT (JSON Web Tokens) e técnicas de segurança adequadas.

  6. Dockerização: Aprenderi a criar e executar aplicativos em contêineres Docker, o que é útil para garantir a consistência entre ambientes de desenvolvimento e produção.

  7. Princípios SOLID e POO: A implementação dos princípios SOLID (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion) e de boas práticas de Programação Orientada a Objetos (POO) ajudou a criar um código mais organizado e escalável.

  8. Compreensão do Ciclo de Vida do Desenvolvimento de Software: Ganhei uma compreensão mais profunda do ciclo de vida de desenvolvimento de software, desde a concepção até o teste e implantação.

Essas habilidades são altamente valorizadas no mercado de desenvolvimento de software e podem ser aplicadas em uma variedade de projetos e tecnologias. Além disso, a capacidade de construir uma aplicação completa, desde o back-end até o front-end, é uma habilidade valiosa para qualquer desenvolvedor web.

Como usar

Para testar os endpoints da API, você pode usar ferramentas como o Postman ou o Insomnia. Lembre-se de configurar a conexão com o banco de dados na aplicação. Além disso, este projeto é uma aplicação web em React e deve ser utilizado em uma outra porta diferente.

Tecnologias Utilizadas

  • Node.js
  • Express
  • TypeScript
  • Sequelize
  • Autenticação
  • Programação Orientada a Objetos (POO)

Contato


Nota: Este projeto me ofereceu a oportunidade de desenvolver uma API robusta para gerenciar informações sobre futebol, incluindo times, partidas, usuários e autenticação. Em caso de dúvidas, entre em contato. Divirta-se codificando!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published