An open API service indexing awesome lists of open source software.

https://github.com/ad/go-parking


https://github.com/ad/go-parking

Last synced: 23 days ago
JSON representation

Awesome Lists containing this project

README

          

# go-parking

Go-parking — сервис для обработки изображений с парковок и интеграции с Telegram.

## Возможности
- Загрузка и обработка изображений парковки через веб-форму
- Автоматическое определение занятости парковочных мест по полигонам
- Визуализация результата на изображении
- Отправка результата в Telegram (новое сообщение или обновление существующего)

## Быстрый старт

### Локальный запуск
```bash
# Установите зависимости
make build

# Запустите сервер
./cmd/go-parking/go-parking
```

Сервер будет доступен на http://localhost:9991

### Сборка и публикация контейнера

- Сборка локального образа:
```bash
make build
```
- Публикация в Docker Hub:
```bash
make publish
```

### Тесты и линт
```bash
make test
make lint
```

## Использование
- Откройте http://localhost:9991/form для загрузки изображения.
- Заполните поля target (chat_id), token (bot token), отметьте day (если день), выберите файл и отправьте.
- Результат будет отправлен в Telegram.

## Переменные окружения
- `BUILD_VERSION` — версия сборки (автоматически берётся из config.json)
- `KO_DOCKER_REPO` — имя репозитория для публикации образа (по умолчанию danielapatin/go-parking)

## Структура проекта
- `cmd/go-parking/` — основной сервис
- `poly/` — работа с полигонами
- `test.sh` — тесты и проверки
- `Makefile` — сборка, публикация, тесты

## CI/CD
- Используется [ko](https://github.com/google/ko) для сборки и публикации контейнеров
- Готовый workflow для GitHub Actions: `.github/workflows/dockerhub.yml`

## Лицензия
MIT