- Descrição
- Próximos passos
- Habilidades desenvolvidas
- Funcionalidades
- Ferramentas
- Como usar a aplicação
- Autor
Esse projeto foi desenvolvido durante o módulo de backend na Trybe. A aplicação é um site informativo sobre partidas e classificações de futebol. Com o frontend já pronto e disponibilizado pela Trybe, o desafio foi construir um backend dockerizado utilizando NODE.js e Typescript que respeitasse as regras de negócio providas no projeto.
Além disso, o desafio foi criar essa API com POO e com os princípios de SOLID.
O projeto original foi entregue, mas entendendo que há espaço para melhorias, coloquei na seção de próximos passos tarefas extras que quero implementar.
Ver mais
- Criar uma documentação Swagger para a API.
- Refatorar o backend utilizando o padrão de repository (que já foi usado na rota de login)
- Terminar os testes para cobrir 100% da aplicação (cobertura atualmente em 80%)
Ver mais
-
Criar um dockerfile para o frontend
-
Criar um dockerfile para o backend
-
Utilizar POO
-
Utilizar SOLID
-
Fazer testes de integração
-
Estabelecer comunicação entre backend e frontend
-
Autenticar rotas com JWT
Ver mais
✔️ Fazer login
✔️ Validar login
✔️ Listar todos os times
✔️ Listar apenas um time
✔️ Criar uma partida
✔️ Finalizar uma partida
✔️ Filtrar partidas finalizadas
✔️ Listar classificação dos times mandantes
✔️ Listar classificação dos times visitantes
✔️ Listar classificação geral
Ver mais
- NODE.js
- Typescript
- Express para criar a API
- Express-async-errors para capturar erros
- Eslint para padronizar o código e evitar code-smells
- Nodemon para monitorar a aplicação em tempo real durante o desenvolvimento
- JWT para autenticação de rotas
- Bcrypt para criptografar e validar senha de usuários
- Joi para validar dados vindos de requisições
- Dotenv para usar variáveis de ambiente
- Mocha, Chai e Sinon para testar a aplicação
- Istanbul para medir a cobertura de testes da aplicação
- Sequelize para mapear o banco de dados
- MySQL para banco de dados
Pré-requisitos
Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas:
Instale as dependências
1 - Clone esse repositório para sua máquina com o seguinte comando: git clone [email protected]:Leo02452/trybe-futebol-clube.git
2 - Entre na pasta criada:
cd trybe-futebol-clube
3 - Instale as dependências:
npm install
Rodando a aplicação localmente
4 - Entre na pasta do backend e inicie a aplicação: cd app/backend && npm start
5 - Em um novo terminal, entre na pasta do frontend e inicie a aplicação:
cd app/frontend && npm start
Rodando a aplicação via docker
Antes de começar, você vai precisar ter instalado em sua máquina, além de NODE e Git, as seguintes ferramentas:
- Docker
- Docker-compose na versão igual ou superior a 16.05.0
4 - Inicie a aplicação no terminal:
npm run compose:up:dev
Se não abrir uma página no navegador automáticamente, acesse o endereço localhost:3000/
Outros scripts da aplicação (backend)
npm run build
para buildar a aplicaçãonpm run db:reset
para deletar, re-criar, fazer a migração e alimentação do banco de dadosnpm run dev
para rodar a aplicação com Nodemon e atualizá-la automaticamente após alteração de qualquer arquivo dentro da pasta src;npm run test
para rodar todos os testes;npm run test:coverage
para rodar todos os testes e gerar o relatório de cobertura na tela do terminal;npm run test:coverage:json
para rodar todos os testes e gerar o relatório de cobertura em json, acessível na pasta/coverage
;npm run lint
para rodar o ESLint;
Desenvolvido por Leonardo Araujo
Email: [email protected]
Github: https://github.com/Leo02452
LinkedIn: https://www.linkedin.com/in/leo02452/