Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/brunomarcadella/trybe-futebol-clube
O TFC é um site informativo sobre partidas e classificações de futebol. Este projeto inclui o desenvolvimento de uma API utilizando o método TDD e integração com um front-end já existente.
https://github.com/brunomarcadella/trybe-futebol-clube
chai express jwt mocha mysql nodejs sequelize
Last synced: about 24 hours ago
JSON representation
O TFC é um site informativo sobre partidas e classificações de futebol. Este projeto inclui o desenvolvimento de uma API utilizando o método TDD e integração com um front-end já existente.
- Host: GitHub
- URL: https://github.com/brunomarcadella/trybe-futebol-clube
- Owner: brunoMarcadella
- Created: 2024-10-09T13:18:54.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-10-22T15:18:11.000Z (3 months ago)
- Last Synced: 2024-11-10T21:11:45.854Z (about 2 months ago)
- Topics: chai, express, jwt, mocha, mysql, nodejs, sequelize
- Language: TypeScript
- Homepage: https://trybe-futebol-clube-stats.up.railway.app/
- Size: 666 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TFC - Trybe Futebol Clube
## ⚽ O que é o TFC?
O TFC é um site informativo sobre partidas e classificações de futebol. Este projeto inclui o desenvolvimento de uma API utilizando o método TDD e integração com um front-end já existente, utilizando Docker para containerização.
## 🏗️ Estrutura do Projeto
O projeto é composto por quatro entidades principais:
1. **Banco de Dados**:
- Container Docker MySQL configurado no `docker-compose.yml` como `db`.
- Acesso via Sequelize na porta 3306 do localhost.2. **Back-end**:
- Ambiente de desenvolvimento da API, rodando na porta 3001.
- Inicialização a partir de `app/backend/src/server.ts`.3. **Front-end**:
- Front-end já implementado, que consome a API.
- Comunicação com o back-end na URL `http://localhost:3001`.4. **Docker**:
- `docker-compose.yml` para unificação dos serviços (backend, frontend e db).
- Inicialização do projeto com `npm run compose:up`.## 📊 Fluxos Principais
O projeto é composto por quatro fluxos principais:
1. **Teams (Times)**: Gerenciamento de informações sobre os times de futebol.
2. **Users e Login (Pessoas Usuárias e Credenciais de Acesso)**: Controle de autenticação e gerenciamento de usuários.
3. **Matches (Partidas)**: Registro e consulta das partidas de futebol.
4. **Leaderboards (Placares)**: Exibição e atualização das classificações dos times.## ⚙️ Tecnologias Utilizadas
Este projeto foi desenvolvido utilizando as seguintes tecnologias:
- **Node.js**: Ambiente de execução JavaScript no servidor, que permite construir aplicações escaláveis.
- **Express**: Framework web para Node.js que facilita a criação de APIs e servidores.
- **Sequelize**: ORM (Object-Relational Mapping) para Node.js, utilizado para interagir com bancos de dados relacionais de forma mais intuitiva.
- **JWT (JSON Web Token)**: Tecnologia de autenticação que permite a troca segura de informações entre partes.
- **Mocha**: Framework de teste para JavaScript que permite executar testes de forma simples e flexível.
- **Chai**: Biblioteca de asserções que pode ser utilizada com Mocha para realizar testes mais legíveis e expressivos.
- **MySQL/PostgreSQL**: Banco de dados relacional utilizado para armazenar as informações da aplicação.Além disso, o projeto pode utilizar ferramentas de gerenciamento de pacotes, como:
- **npm**: Gerenciador de pacotes padrão para Node.js, utilizado para instalar e gerenciar dependências do projeto.
Esta combinação de tecnologias permite desenvolver uma aplicação robusta, escalável e fácil de manter.
## 🤝 Observações
Projeto desenvolvido individualmente durante o curso de desenvolvedor fullstack na Trybe.