Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gustavohenrique/quake_report
Parse de logs do jogo Quake
https://github.com/gustavohenrique/quake_report
Last synced: about 1 month ago
JSON representation
Parse de logs do jogo Quake
- Host: GitHub
- URL: https://github.com/gustavohenrique/quake_report
- Owner: gustavohenrique
- License: mit
- Created: 2024-11-23T19:58:46.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-11-23T20:58:09.000Z (about 1 month ago)
- Last Synced: 2024-11-23T21:17:33.315Z (about 1 month ago)
- Language: Go
- Size: 39.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# quake_report
> Parser de logs do jogo Quake
## Sobre
Faz o parse do arquivo de log `qgames.log` e produz um relatório no formato JSON com as informações:
- Dados agrupados para cada partida
- Ranking de jogadores baseado no número de kills
- Relatório de mortes agrupadas por causa da morteUm exemplo do relatório gerado pode ser visto no arquivo [report.json](report.json).
**Atenção:** Nenhuma validação está sendo feita. Confiando totalmente no formato do arquivo.
## Funcionalidades
- Leitura do arquivo de Log
- Agrupamento de dados por partida
- Coleta de dados de morte
- Geração de relatório no formato JSON## Estrutura de Arquivos
```python
.
├── main.go # The application entrypoint
├── src/
│ ├── shared/ # Shared libs imported by adapters and domain layers without DI
│ ├── adapters/ # Manage inputs and outputs
│ │ ├── dto/ # Simple data structure to represent external data
│ │ └── converters/ # Convert DTO to models and models to DTO
│ └── domain/ # Where the business logic and services lives
│ ├── ports/ # Interfaces to be used outside this layer
│ ├── services/ # Business logic
│ └── models/
├── Dockerfile
├── .testignore # Skip testing for some files
├── .editorconfig
└── .gitignore
```## Pré-requisitos
É necessário o Go 1.23 ou Docker instalado na máquina.
## Instalação
```bash
git clone https://github.com/gustavohenrique/quake_report
cd quake_report
```## Rodando
### Usando apenas Go
```bash
make install
make lint
make tests
make run# É possível passar o caminho do arquivo de log via variável de ambiente
LOG_FILE=/tmp/file.log make run
```### Usando Docker
```bash
docker build . -t=quake_report
docker run --rm -v $PWD:/app quake_report
```## Contribuindo
Contribuições são sempre bem-vindas!
1. Crie um fork do projeto
2. Crie uma nova branch
3. Commit suas alterações
4. Faça um push da sua branch
5. Abra um Pull Request## Licença
Distribuído sobre a licença MIT. Veja o arquivo `LICENSE` para mais informações.