Суть - хранилище данных продаж / остатков товара / финансовых итогов магазина Cipo. Интерфейс пользователя реализуется через telegram-бот.
- продажи и аналитика продаж - чеки с API ОФД, недокументированный RestAPI
- остатки товаров - бэкенд сайта Cipo, который их получает из 1С Розница, типовой обмен с сайтом в CommerceML
- отчет о доходох и расходах - API Google Sheets, таблица с расходами, себестоимостью
- Postgres в стандартном контейнере
- KOFD_UPDATER - парсер данных с внешнего API KOFD и сохранение в БД
- BOT - интерфейс для доступа к данным в виде телеграм-бота
- Nats - брокер сообщений в стандартном контейнере, между KOFD_UPDATER и BOT
- [go-telegram] (github.com/go-telegram/bot)
- pgx / pgxpool / scany
- github.com/go-analyze/charts
- github.com/golang-migrate/migrate
-
parserJSON - добавить загрузку закупочных цен, также добавить из 1С
-
обновить экшны - actions/checkout@v6, docker/build-push-action@v7, docker/login-action@v4, docker/setup-buildx-action@v4, golangci/golangci-lint-action@v9
-
[v] 2026-01-20 - в блоке "Charts" сделать кнопку "12m" чтобы на 12 месяцев назад выводить итоги, блоками по 2 колонки (январь 2026 и январь 2025, февраль 2026 и февраль 2025 и т.д.)
-
2026-01-19 - в блоке "Остатки" сделать кнопку "Диаграмма" чтобы выводить гистограмму с суммами остатков каждый месяц (всего 12 колонок для 12 месяцев), внутри разделить по сезонам
-
2026-01-02 - сделать бинарник webkassa_updater для загрузки транзакций из Вебкассы. Использовать метод для авторизации - POST https://my.webkassa.kz/api/authorize/spa/email Использовать метод для получения смен - GET https://my.webkassa.kz/api-history/v3/Reports/HistoryCheckShiftGrid?cashboxId=426032&skip=0&take=20 Использовать метод для получения данных чека - POST https://my.webkassa.kz/api/v4/Check/HistoryByNumber Для методов после авторизации требуются 1 кука с AccessToken
-
[v] 2025-10-19 - summary - в аналитику добавить процент возвратов
-
2025-10-16 - финансы - диаграмма - вывести четкий ноль и значения в разные стороны
-
2025-10-04 - финансы - добавить режим сравнения произвольных периодов
-
[v] 2025-05-14 получили токен, теперь надо получить операции
-
[v] 2025-05-15 записываем в БД транзакции полученные из КОФД, но нужно получить и записать в БД информацию из чека, названия, путь до картинки
-
[v] 2025-07-19 заменить пакет для telegram api на более документированный https://github.com/go-telegram/bot
-
[v] 2025-07-19 kofd_updater вставку операций делать обернуть в транзакцию Postrges, транзакцию создать в его main.go
-
[v] в GetGoodsFromCheque - отпарсить из чека не только имена, но и кол-во, цены
-
[v] поле cheque в БД поменять тип на JSON или связанную таблицу "Товары в транзакциях"
-
[v] 2027-07-24 - BOT - запросить URL-картинки по name_1c к бэкенду сайта. Открытый вопрос - хранить ли URL в базе данных, так как 1С может менять имя файла
-
[v] 2027-07-24 поле cheque в БД - также парсить секцию Скидки, добавить поля в cheque_json
-
[v] 2025-07-20 - BOT - вывод по кнопке "Все чеки" по итогам дня или недели
-
[v] 2025-07-26 - KOFD_updater - при каждом обновлении помещать новые операции в Кафку/RMQ
-
[v] 2025-07-26 - BOT - читать новые операции из Кафки/RMQ
-
[v] 2025-08-09 - BOT - выводить отдельные чеки с картинками
-
[v] 2025-08-09 - BOT - в GetPeriodByMode добавить вариант получения даты по шаблону "2025 08 21", для получения итогов по любому дню
-
[v] 2025-08-09 - KOFD_updater - заменить публикацию Kafka на Nats
-
[v] 2025-08-12 - BOT - заменить слушателя Kafka на Nats
-
[v] 2025-08-10 - если в сервисе getAllChecks сообщение превысит лимит в 4096 символа, то нужно разбить на части, а не отказывать. Но суммарно не более 50 чеков
-
[v] 2025-08-10 - добавить функцию по выводу типа оплаты и добавить в список всех чеков и в одиночный чек
-
[V] 2025-08-11 - деплой через github actions - сборка контейнера с бинарниками после линта, пуша тега
-
[V] 2025-08-11 - docker compose - закрыть клиентский порт для наружнего доступа
-
[V] 2025-08-11 - в Cron повесить запуск updater каждые 2 мин
-
[v] 2025-08-11 - создать в БД вторую уже закрытую кассу SWK00426370 - 010102360873 - Евразия
-
[v] 2025-08-11 - залить все чеки с 01.07.2021 по 4 кассам, апдейтером, кусками по 1-3 мес. Чтобы не создавать множественную нагрузку по запросам чеков.
-
[v] 2025-08-17 - добавить в итоги текущего дня остаток по кассе
-
[v] 2025-08-16 - диаграммы (использовать новый форк go-chart от https://github.com/go-analyze/charts)
-
[v] 2025-08-16 - финансы - сделано 2025-10-04
-
2025-08-31 - подумать как сделать кнопку "Полный текст чека" для медиагруппы удобнее, сейчас приходится отправлять вторым сообщением
-
[v] разобрать сумму скидок в аналитике за 2025-09-04, скидки превысили сумму продаж
-
[v] 2025-10-04 - финансы - разобраться с шириной и высотой при разном кол-ве строк/колонок