- Descrição
- Próximos passos
- Habilidades desenvolvidas
- Funcionalidades
- Ferramentas
- Como usar a aplicação
- Autor
Esse é um projeto pessoal que ainda está em desenvolvimento e utiliza NODE.js e Typescript para o backend. Mais informações sobre tecnologias podem ser vistas na parte de Ferramentas.
Ao criar uma conta na aplicação, o usuário poderá registrar seu time e seus jogadores. Com isso feito, poderá registrar suas partidas, os eventos que acontecem nela, como gol e falta e quem foram os responsáveis por cada evento e os jogadores presentes em cada uma dessas partidas.
Esse projeto surgiu de uma vontade de modernizar as pranchetas e os cadernos usados em partidas de futsal e futebol amador. Digitalizar essas informações significa não só praticidade, mas também a possibilidade de uma análise mais completa sobre o desempenho do seu time e seus jogadores.
O projeto segue o modelo MVP (produto viável mínimo) com auxílio da metodologia ágil Scrum e aqui está o que falta para a primeira entrega:
Ver mais
- Endpoint para criar usuário
- Endpoint para login
- Endpoint para listar todos os eventos
- Endpoint para criar time
- Endpoint para criar jogadores
- Endpoint para listar jogadores
- Endpoint para criar uma partida
- Endpoint para listar uma partida
- Endpoint para criar jogadores da partida
- Endpoint para listar jogadores da partida
- Endpoint para criar os eventos na partida
- Endpoint para editar os eventos na partida
- Endpoint para listar os eventos na partida
- Endpoint para excluir os eventos na partida
- Endpoint para finalizar uma partida
- Testes unitários para cada serviço
- Testes de integração para cada endpoint
Ver mais
-
Criar um backend do zero e ter autonomia e responsabilidade para escolher a arquitetura e padrões de projeto da API.
-
Aprender a usar Prisma ORM
Ver mais
✔️ Criar um manager
✔️ Login
✔️ Registrar time
✔️ Registrar jogadores
✔️ Registrar partidas e seus eventos
✔️ Modificar os eventos de uma partida
✔️ Finalizar uma partida
✔️ Ver todas as partidas do seu time
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
- UUID para gerar IDs antes de salvar no banco de dados
- JWT para autenticar e validar um usuário
- Nodemon para monitorar a aplicação em tempo real durante o desenvolvimento
- Zod para validar dados vindos de requisições e criar interfaces
- 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
- Prisma para mapear o banco de dados
- MySQL para banco de dados
- Docker para utilizar uma imagem de MySQL
Pré-requisitos
Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas:
Rodando a aplicação localmente
1 - Clone esse repositório para sua máquina com o seguinte comando: git clone git@github.com:Leo02452/futsal-manager-backend.git
2 - Entre na pasta criada:
cd futsal-manager-backend
3 - Instale as dependências:
npm install
4 - Inicie a aplicação em modo de desenvolvimento:
npm run dev
Outros scripts da API
npm run lint
para rodar o ESLint;npm run test
para rodar todos os testes com Mocha;npm run test:coverage
para rodar todos os testes e gerar o relatório de cobertura na tela do terminal;npm run db:reset
para resetar o banco de desenvolvimento;
Desenvolvido por Leonardo Araujo
Email: leonardo_02452@hotmail.com
Github: https://github.com/Leo02452
LinkedIn: https://www.linkedin.com/in/leo02452/