O projeto tem como objetivo desenvolver uma aplicação que seja capaz de consultar um banco de dados sobre um campeonato de futebol e mostrar ao usuário as partidas e a classificação, podendo realizar operações de CRUD (create, read, update e delete).
Nesse projeto foi desenvolvida uma REST API sobre partidas e classificações de futebol, utilizando arquitetura de software MSC e, também, utilizando pricípios SOLID e TDD (Test Driven Development).
Como sistema de gerenciamento de banco de dados, foi utilizado o MySQL.
Observação: Essa é uma aplicação full-stack, a qual a parte de front-end foi disponibilizada pelo time da Trybe
Desenvolvido usando: Node.js, TypeScript, Express, Sequelize, dotENV, Docker, MySQL, Jwt, Mocha, Chai.
Clone o projeto e acesse a pasta do mesmo.
$ git clone git@github.com:gabrieldezena10/Projeto-Futebol-Clube.git
$ cd Projeto-Futebol-Clube
Com Docker / Docker compose
# Realiza orquestração dos containers
$ npm run compose:up
Aplicação Frontend: Disponível no browser pelo endereço http://localhost:3000.
Aplicação Backend: Disponível na porta 3001
.
Banco de dados MySQL: Disponível na porta 3002
.
Sem Docker
Aplicação Backend:
$ cd app/backend
# Instala as dependências
$ npm install
# Iniciar o projeto
$ npm start
Aplicação Frontend:
$ cd app/frontend
# Instala as dependências
$ npm install
# Iniciar o projeto
$ npm start
⚙️ Variáveis de ambiente
**No diretório `app/backend/` renomeie o arquivo `.env.example` para `.env` e configure os valores de acordo com o cenário do seu ambiente (credenciais de banco de dados, secrets desejadas e etc)**. Isso vai permitir que você inicialize a aplicação fora do _container_ e ela se conecte com seu banco local caso deseje.
./app/backend/.env.example
JWT_SECRET=jwt_secret
APP_PORT=3001
DB_USER=seu_user
DB_PASS=sua_senha
DB_HOST=localhost
DB_PORT=3306
Aplicação Frontend: Disponível no browser pelo endereço http://localhost:3000.
Aplicação Backend: Disponível na porta da variável de ambiente APP_PORT definida no arquivo .env
.
Banco de dados MySQL: Disponível de acordo com as credencias do banco MySQL da máquina do usuário. Substituir as variáveis de ambiente (DB_USER, DB_PASS) do arquivo .env
pelas credenciais do usuário.