О проекте
Команда: CareTech
Кейс HackAlem.ai: Торговля — Электрокомплект · ekt.kz
Стадия: Рабочий MVP
Задача кейса: AI-консультант по каталогу ekt.kz: товары, аналоги, цены, остатки, корзина
Суть
AI-консультант по каталогу электротоваров EKT: чат ищет товары по названию/артикулу/SKU, подбирает аналоги, показывает цену и остатки и добавляет товары в корзину после подтверждения.
Как устроено
Go HTTP API с каталогом (демо или JSON-выгрузка EKT), поиском с приоритетом точного артикула и подбором альтернатив по категории и номиналу. Chat Service по session_id вызывает LLM-адаптер (OpenAI-compatible API или локальная Ollama), корзина хранится in-memory с pending-confirm workflow. Фронтенд на React + Vite, развёртывание через Docker Compose и nginx.
Ключевые решения
- поиск по артикулу/SKU
- подбор аналогов по категории и номиналу
- pending-confirm корзина
- OpenAI-compatible LLM adapter
Особенности
Бэкенд на Go; добавление в корзину только через явное подтверждение пользователя (pending-confirm).
Стек
Go · React · Vite · JavaScript · Docker Compose · nginx · PostgreSQL (опционально)
Модели
gpt-4o-mini · qwen2.5:7b (Ollama)
Проект создан за 5 часов на финале хакатона HackAlem.ai (23 сентября 2026, Астана). Код — BAITC-Hacks/hack-a7cf2003-caretech.
README
README.mdCareTech AI assistant for electrical catalog
CareTech - EKT -. , , , .
- , , SKU, ID
- : , , , .
- -,
- session_id
- Ollama OpenAI-compatible
- -, JSON-
- Frontend React + Vite
- Backend Go
- API ,
- in-memory
- pending-confirm workflow
- LLM
- Go 1.22
- React 19
- Vite 8
- JavaScript / JSX
- HTML / CSS
- Docker + Docker Compose
- PostgreSQL-ready integration (optional)
- OpenAI-compatible API / Ollama
- Git + GitHub
-
flowchart TD
U[] --> FE[Frontend React + Vite]
FE --> API[Go HTTP API]
API --> CH[Chat Service]
API --> CAT[Catalog Repository]
API --> CART[Cart Store]
CH --> LLM[LLM Adapter\nOpenAI / Ollama]
CAT --> DATA[Demo catalog or JSON catalog]
CART --> MEM[In-memory session/cart]
FE --> BROWSER[Browser UI]
careTech/
+- cmd/
L- server/
L- main.go
+- internal/
+- cart/
+- catalog/
+- chat/
+- db/
+- httpapi/
L- llm/
+- src/
+- App.jsx
+- App.css
+- main.jsx
L- ...
+- public/
+- data/
+- .env.example
+- .gitignore
+- docker-compose.yml
+- Dockerfile.backend
+- Dockerfile.frontend
+- go.mod
+- package.json
+- vite.config.js
+- README.md
L- index.html
1.
git clone https://github.com/BAITC-Hacks/hack-a7cf2003-caretech.git
cd careTech
2.
npm install
3. backend
.env .env.example :
LLM_API_KEY=your_api_key_here
LLM_BASE_URL=https://api.openai.com/v1/chat/completions
LLM_MODEL=gpt-4o-mini
DATABASE_URL=
EKT_PRODUCTS_FILES=
Ollama :
LLM_API_KEY=ollama
LLM_BASE_URL=http://localhost:11434/v1/chat/completions
LLM_MODEL=qwen2.5:7b
Go backend:
go run ./cmd/server
Backend :
http://localhost:8080/health
4. frontend
npm run dev -- --host 0.0.0.0
Frontend :
http://localhost:5173/
5. API
Health-check:
curl http://localhost:8080/health
:
curl "http://localhost:8080/api/products?q=ABB"
:
curl -X POST http://localhost:8080/api/chat \
-H "Content-Type: application/json" \
-d '{"session_id":"demo-1","message":" ABB-S201-C16?"}'
Docker
docker compose up --build
:
- frontend: http://localhost:5173
- backend: http://localhost:8080
-
Redis/PostgreSQL. -
JSON- EKT `EKT_PRODUCTS_FILES`. - API- .
.env.gitignore.
- Backend: Go + HTTP API
- Frontend: React + Vite
- AI: OpenAI-compatible API / Ollama
- Product logic: catalog search and alternatives
- Cart logic: confirmed add-to-cart flow
CareTech / HackAlem style prototype for electric equipment catalog assistant.
Авторы коммитов
История коммитов
- 2026-09-23 17:28docs: add project overview and setup guidenurtttay
- 2026-09-23 17:27fix: load LLM config from .env and support local Ollamanurtttay
- 2026-09-23 17:08Delete README.mdAiym Samakova
- 2026-09-23 17:07Delete README.mdAiym Samakova
- 2026-09-23 16:55feat: add backend Docker supportnurtttay
- 2026-09-23 16:48fix: link cart icon to saved products pageАдмин
- 2026-09-23 16:44Merge remote-tracking branch 'origin/main'nurtttay
- 2026-09-23 16:44feat: add docker stack and EKT assistant promptnurtttay
Все коммиты (34)
- 2026-09-23 16:42refactor: remove demo mode from frontendАдмин
- 2026-09-23 16:35Merge remote-tracking branch 'origin/main'nurtttay
- 2026-09-23 16:34fix: proxy latest frontend to Go APInurtttay
- 2026-09-23 16:32Delete README.mdAiym Samakova
- 2026-09-23 16:30merge: sync latest frontend before backend pushnurtttay
- 2026-09-23 16:30Merge remote-tracking branch 'origin/main'nurtttay
- 2026-09-23 16:29AI_assistant_promptDana Karymsakova
- 2026-09-23 16:28feat: connect backend to EKT catalog and Ollama AInurtttay
- 2026-09-23 16:27Generated_dataDana Karymsakova
- 2026-09-23 16:27feat: add saved products cart pageАдмин
- 2026-09-23 16:25ТЗ_front_backDana Karymsakova
- 2026-09-23 16:06refactor: remove Go API references from frontend copyАдмин
- 2026-09-23 16:01Delete README.mdAiym Samakova
- 2026-09-23 15:59docs: document EKT frontend setupАдмин
- 2026-09-23 15:54fix: reveal dynamic product details inlineАдмин
- 2026-09-23 15:47feat: add linked catalog and dynamic product pagesАдмин
- 2026-09-23 15:41feat: merge backend and frontend via APInurtttay
- 2026-09-23 15:32Delete README.mdAiym Samakova
- 2026-09-23 15:30feat: connect frontend to EKT Go API contractАдмин
- 2026-09-23 15:29feat: complete backend MVP, AI catalog flow and docsnurtttay
- 2026-09-23 15:11Данные нормализованыDana Karymsakova
- 2026-09-23 15:06feat: add EKT AI product consultant frontendАдмин
- 2026-09-23 14:22feat: match alternatives by category and current ratingnurtttay
- 2026-09-23 14:20feat: prioritize exact article matches in catalog searchnurtttay
- 2026-09-23 14:15feat: align catalog contract with EKT data modelnurtttay
- 2026-09-23 13:58feat: add chat catalog MVP with pending cart confirmationnurtttay
Структура репозитория (47 файлов)
.dockerignore .env.example .gitignore Dockerfile.backend Dockerfile.frontend README.md careTech_backend_overview.md cart.html catalog.html cmd/server/main.go docker-compose.yml eslint.config.js go.mod go.sum index.html internal/cart/cart.go internal/catalog/ekt_json.go internal/catalog/ekt_json_test.go internal/catalog/memory.go internal/catalog/product.go internal/catalog/product_test.go internal/chat/prompt.go internal/chat/service.go internal/chat/service_test.go internal/db/postgres.go internal/httpapi/handler.go internal/llm/client.go internal/llm/client_test.go nginx.conf nvidia_setup.md package-lock.json package.json product.html public/favicon.svg public/icons.svg public/product-placeholder.svg src/App.css src/App.jsx src/api.js src/assets/hero.png src/assets/react.svg src/assets/vite.svg src/cart.css src/cart.jsx src/index.css src/main.jsx vite.config.js
Обсуждение 0 комментариев
Войдите, чтобы комментироватьПока нет комментариев — будьте первым.