/Futebol-clube

Desenvolvido um site interativo de partidas de futebol!

Primary LanguageJavaScript

Projeto Futebol Clube! ⚽

Contexto do projeto:

Este é um projeto da Trybe que foi desenvolvido no módulo de Back-end. O TFC é um site informativo sobre partidas e classificações de futebol. Nele foi desenvolvida uma API utilizando o método TDD (Test Driven Development) e feita a sua integração com um front-end (já estruturado) e com um banco de dados MySQL. Neste projeto buscou-se seguir todas as diretrizes dos princípios SOLID e do paradigma de programação POO (Programação orientada a objetos).O back-end implementa as regras de negócio para popular adequadamente a tabela disponível no front-end que será exibida para a pessoa usuária do sistema.

Tecnologias utilizadas:

Em seu desenvolvimento foi utilizada linguagem TypeScript e JavaScript para escrever os códigos e Node.js juntamente com o framework Express para fornecer toda a estrutura que possibilitou a construção dos endpoints da aplicação.

Foi utilizado o ORM Sequelize, que é o responsável por toda a abstração de consultas e manipulações do banco de dados MySQL.

Para a geração e verificação de tokens foi utilizado o JWT (JSON Web Token), com ele é possível verificar se o usuário está devidamente autenticado e se ele tem permissões de administrador para realizar determinadas ações, como cadastrar, atualizar ou finalizar partidas, deixando assim a aplicação mais segura.

Os testes de integração foi utilizado Mocha e Chai para estruturar os testes e fazer as asserções e o Sinon para mockar as funções, não permitindo que os testes tivessem acesso ao banco de dados.

Instalação Local:

Para rodar a aplicação em sua maquina.

  1. Clone o repositorio. Use o comando:
    git clone git@github.com:carolhn/Futebol-clube.git

  2. Entre na pasta do repositório que você acabou de clonar:
    cd Futebol-clube

  3. Instale as dependências:
    npm install

  4. Comando para executar o app:
    npm pretest

Instalação com Docker:

  1. Rode o serviço node com o comando npm run compose:up na principal.
  • Esse serviço irá inicializar um container chamado app_backend, app-frontend-1 e db.

  • 🚨 Ao subir a aplicação, o serviço de Front-end estará rodando na port 3000 da sua máquina, o Back-end estará rodando na porta 3001 e o banco de dados MySQL estará rodando na porta 3002.

  1. Para rodar os testes de integração e verificar a sua cobertura são utilizados os seguintes comandos: cd app cd backend npm run test:coverage

Contato:

Linkedin Instagran Whatsapp Gmail