liga — лёгкий и расширяемый REST-сервис для учёта матчей, игроков и таблиц сезона. Поддерживает подсчёт рейтингов (ELO), seed-данные и API для интеграции с фронтендом или админкой.
- Go >= 1.18
- Git
- (Опционально) Docker, MakeFile
flowchart LR
A[API] --> B[Handlers]
B --> C[Services]
C --> D[Repositories]
C --> E[Utils — ELO & JWT]
D --> F[(Database)]
GET /matches?from=2025-01-01&to=2025-12-31
GET /matches?season_id=1&from=2024-12-25&to=2025-01-25
GET /matches?player_id=5&from=2024-12-20&to=2024-12-25git clone https://github.com/your-org/liga.git
cd liga
go mod download- Быстро (локально):
go run cmd/liga/main.go- Сборка и запуск бинарника:
go build -o bin/liga ./cmd/liga
./bin/liga- Запустить seed-данные:
go run cmd/seed/main.go- Точки входа: cmd/liga/main.go, cmd/seed/main.go.
- Конфигурация: смотрите internal/config/database.go.
- Тесты:
go test ./...- Форматирование и линт:
gofmt -w .
golangci-lint run- Docker (если есть Dockerfile):
docker build -t liga:latest .
docker run -p 8080:8080 liga:latest- Swagger (генерация и просмотр):
# Установите CLI (если ещё не установлен)
go install github.com/swaggo/swag/cmd/swag@latest
# Сгенерировать docs (в корне проекта)
swag init -g cmd/liga/main.go -o docs -d .,internal
# Запустить сервер и открыть документацию
go run cmd/liga/main.go
# Откройте: http://localhost:8080/swagger/index.html- 👨💻 https://github.com/warkaz16
- 👨💻 https://github.com/Alsiev
- 👨💻 https://github.com/tsuruevimran17
- 🤝 PRs и issues приветствуются
- JWT: реализовано в utils/jwt.go.
- ELO: расчёт в utils/elo/elo.go.
- Откройте issue в репозитории или пишите на warkaz16@mail.ru
