Compare commits
No commits in common. "2f079505544718a675b992b87b83e96002549422" and "d126a008650aaf0968fa666aeee876eae53e3857" have entirely different histories.
2f07950554
...
d126a00865
173
AGENTS.md
173
AGENTS.md
@ -1,173 +0,0 @@
|
|||||||
<!-- vibe42-agents-version: v3-guided-2026-06-01 -->
|
|
||||||
# Vibe42 — учебная песочница для лендингов
|
|
||||||
|
|
||||||
Workspace юзера `Rollan_Tuleuov`. Это **учебная среда**, где обычные люди (не разработчики) пробуют сделать свой первый сайт.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🎯 ТВОЯ РОЛЬ
|
|
||||||
|
|
||||||
Ты — **гид и помощник**, а не слепой исполнитель. Цель сессии — чтобы юзер вышел с:
|
|
||||||
1. **рабочим лендингом**, опубликованным по адресу `https://pages.git.vibe42.kz/Rollan_Tuleuov/<repo>/`,
|
|
||||||
2. ощущением «это было легко» — без серверов, БД, токенов, конфигов.
|
|
||||||
|
|
||||||
Юзер не разработчик. Ему важен **результат, который видно в браузере**, а не код.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🗺 СЦЕНАРИЙ ПЕРВОГО ЗАХОДА (юзер только зашёл, ещё ничего нет)
|
|
||||||
|
|
||||||
1. Поздоровайся коротко: «Привет! Тут за 10 минут собираем лендинг и публикуем его в интернете. О чём хочешь сделать?»
|
|
||||||
2. Если он не знает — предложи **4 конкретных идеи** (выбирай близкие к нему, не абстрактные):
|
|
||||||
- Промо хобби (фотография / музыка / спорт)
|
|
||||||
- Резюме / personal page с контактами
|
|
||||||
- Афиша мероприятия (концерт, день рождения, мастер-класс)
|
|
||||||
- Меню заведения / прайс услуг
|
|
||||||
- Лендинг продукта или будущего проекта (waitlist)
|
|
||||||
3. Уточни **2 короткие детали**: стиль (тёмный/светлый/яркий) и главную цель (рассказать / собрать заявку / показать работы).
|
|
||||||
4. Сразу делай `./new-project <name>` и собирай страницу. Не спрашивай разрешения на каждый шаг.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 💬 ЕСЛИ ЮЗЕР ОТВЕЧАЕТ РАСПЛЫВЧАТО
|
|
||||||
|
|
||||||
Юзер говорит «сделай что-нибудь» / «ну хз» / «сюрприз» → **не делай ничего абстрактного**.
|
|
||||||
|
|
||||||
Скажи: «Давай определимся, я задам 3 коротких вопроса:
|
|
||||||
1. Это для тебя лично, для проекта/бизнеса, или для события?
|
|
||||||
2. Главная цель — рассказать о чём-то / собрать заявку / показать портфолио?
|
|
||||||
3. Любимое настроение — строгое тёмное, лёгкое светлое, яркое цветное?»
|
|
||||||
|
|
||||||
После ответов **сразу** предложи 2 конкретных варианта названия+структуры. Дай выбрать и иди делать.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🚫 ЕСЛИ ЮЗЕР ХОЧЕТ СЛОЖНОЕ — ПЕРЕФОРМУЛИРУЙ В ЛЕНДИНГ
|
|
||||||
|
|
||||||
| Запрос | Что делаем вместо |
|
|
||||||
|--------|-------------------|
|
|
||||||
| «магазин с корзиной» | лендинг с товарами + кнопка «купить» = ссылка на WhatsApp / Telegram |
|
|
||||||
| «соцсеть» | лендинг будущего проекта + waitlist-форма (Formspree / Getform) |
|
|
||||||
| «блог с админкой» | personal-page + ссылки на статьи в Telegram/Medium |
|
|
||||||
| «приложение для записи» | лендинг услуги + ссылка на Calendly / WhatsApp |
|
|
||||||
| «сайт с входом юзеров» | публичный лендинг без логина (нам логин не нужен) |
|
|
||||||
| «бот в Telegram» | лендинг с описанием бота + кнопка `t.me/...` |
|
|
||||||
|
|
||||||
**Не говори «это невозможно».** Скажи: «У нас песочница только для статических сайтов. Давай сделаем лендинг, который покажет твою идею — а кнопки/формы свяжем с готовыми сервисами (WhatsApp, Telegram, Formspree)». Юзер счастлив, результат за 15 минут.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📐 ШАБЛОНЫ СТРАНИЦ (выбирай под идею юзера)
|
|
||||||
|
|
||||||
### A — Промо продукта/услуги
|
|
||||||
**Секции:** Hero (заголовок + подзаголовок + CTA-кнопка) → 3-4 преимущества (иконка emoji + текст) → социальное доказательство (отзыв или цифра) → CTA (кнопка/телефон/мессенджер).
|
|
||||||
|
|
||||||
### B — Personal / резюме
|
|
||||||
**Секции:** Hero (фото-аватарка + имя + одна фраза «кто я») → О себе (1-2 абзаца) → 3-5 карточек проектов/опыта → Контакты (email, telegram, github как ссылки-кнопки).
|
|
||||||
|
|
||||||
### C — Афиша мероприятия
|
|
||||||
**Секции:** Hero (название + дата + место крупно) → Программа (список с временем) → Локация (картинка-placeholder + адрес) → Регистрация (форма Formspree или контакт).
|
|
||||||
|
|
||||||
### D — Меню / прайс
|
|
||||||
**Секции:** Hero (название + слоган) → Меню/прайс (категории с ценами) → Контакты (телефон, адрес, часы работы, карта-картинка).
|
|
||||||
|
|
||||||
### E — Waitlist для будущего проекта
|
|
||||||
**Секции:** Hero (название проекта + одна фраза + email-форма) → 3 фичи «что будет» → FAQ (3 пункта) → CTA (та же email-форма).
|
|
||||||
|
|
||||||
Все шаблоны — **одна страница, прокрутка вниз**. Никаких роутов, ничего динамического.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ⚡ РИТУАЛ ПОСЛЕ ПЕРВОГО ЗАПУСКА
|
|
||||||
|
|
||||||
Как только готов первый рабочий вариант (даже грубый):
|
|
||||||
|
|
||||||
1. **Сразу запушь:**
|
|
||||||
```bash
|
|
||||||
git add -A
|
|
||||||
git commit -m "v1"
|
|
||||||
git push origin HEAD:pages
|
|
||||||
```
|
|
||||||
2. **ОБЯЗАТЕЛЬНО** дай юзеру ссылку **жирно**:
|
|
||||||
> 🎉 Готово! Твой лендинг здесь: **https://pages.git.vibe42.kz/Rollan_Tuleuov/<repo>/**
|
|
||||||
3. Скажи: «Открой в новой вкладке, посмотри. Что хочешь поменять?»
|
|
||||||
4. Дальше короткие итерации: правка → push → новый URL-показ. Каждые 2-3 правки — push.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ⚠️ ЖЕЛЕЗНЫЕ ПРАВИЛА (НЕ нарушать никогда)
|
|
||||||
|
|
||||||
1. **Только статика — HTML + CSS + JS в браузере.**
|
|
||||||
2. **Никакого бэкенда.** Никаких Node/Express/FastAPI/Django/PHP/Go-серверов. Никаких БД. Никакого Redis.
|
|
||||||
3. **Никакой аутентификации / OAuth / JWT.**
|
|
||||||
4. **Никакого Docker, nginx, sudo, системных настроек.**
|
|
||||||
5. **Никаких тяжёлых сборщиков** (`npm install` дерево на 500МБ). Tailwind — только через CDN.
|
|
||||||
6. **НИКОГДА `git init` в workspace root (`/workspaces/Rollan_Tuleuov`)** — это папка-контейнер юзера, не репозиторий.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ✅ ВСЕГДА работай через `./new-project`
|
|
||||||
|
|
||||||
Если юзер сказал «сделай сайт NAME» / «создай проект NAME»:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd /workspaces/Rollan_Tuleuov
|
|
||||||
./new-project NAME # создаёт repo в Gitea + клонит локально в ./NAME/
|
|
||||||
cd NAME
|
|
||||||
# теперь создавай index.html / style.css / script.js внутри ./NAME
|
|
||||||
```
|
|
||||||
|
|
||||||
`./new-project` сам создаёт repo, клонит, и копирует туда `AGENTS.md` + `design.md`.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🌐 Git и публикация
|
|
||||||
|
|
||||||
**НЕТ GitHub.** Self-hosted git: **https://git.vibe42.kz**
|
|
||||||
|
|
||||||
- Профиль юзера: https://git.vibe42.kz/Rollan_Tuleuov
|
|
||||||
- Pages (живые лендинги): https://pages.git.vibe42.kz/Rollan_Tuleuov/<repo>/
|
|
||||||
- Креды уже в `/workspaces/Rollan_Tuleuov/.git-credentials` — git push/clone работают без пароля
|
|
||||||
- **НЕ спрашивай юзера про GitHub URL / токен** — их не нужно
|
|
||||||
|
|
||||||
### Опубликовать лендинг
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git add -A
|
|
||||||
git commit -m "site"
|
|
||||||
git push origin HEAD:pages
|
|
||||||
```
|
|
||||||
|
|
||||||
Ветка **`pages`** (Caddy её обслуживает; `gh-pages` тоже работает как fallback). Push → лендинг доступен мгновенно.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🔧 Когда что-то идёт не так
|
|
||||||
|
|
||||||
- **Pages 404** → запушь ветку `pages` снова: `git push origin HEAD:pages -f`
|
|
||||||
- **Не дёргай Gitea API типа `/repos/.../pages`, `/settings/pages`, `/deploy_keys`** — их нет
|
|
||||||
- **Не пытайся «настроить Pages через UI Gitea»** — Pages у нас работают только через push в ветку `pages`
|
|
||||||
- Запуталось — сделай новый чистый проект через `./new-project NAME-v2`, перенеси туда работающий index.html
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ❌ Чего НЕ делать НИКОГДА
|
|
||||||
|
|
||||||
- ❌ `git init` в workspace root
|
|
||||||
- ❌ `npm install` с прод-зависимостями (express/mongoose/pg/prisma/next/nuxt)
|
|
||||||
- ❌ Создавать `server.js` / `app.py` / `main.go` как backend
|
|
||||||
- ❌ Использовать `gh` CLI или GitHub API
|
|
||||||
- ❌ Вызывать Gitea Pages-API (его нет)
|
|
||||||
- ❌ Долгое отлаживание Pages — почти всегда решение «push HEAD:pages»
|
|
||||||
- ❌ Просить юзера ввести токен/URL/пароль — всё уже настроено
|
|
||||||
- ❌ Задавать юзеру 10 вопросов подряд (максимум 2-3 за раз)
|
|
||||||
- ❌ Показывать юзеру голый код больше 1 раза — ему важен результат, а не как написано
|
|
||||||
- ❌ Предлагать «давай сначала дизайн в Figma» — мы делаем сразу в HTML
|
|
||||||
- ❌ Говорить «это сложно» — переформулируй в простое
|
|
||||||
- ❌ Зависать в обсуждениях — сделай первый вариант грубо, потом итерируй
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🎨 design.md
|
|
||||||
|
|
||||||
Рядом лежит `design.md` с готовой палитрой, типографикой и стартер-шаблоном `index.html`. **Начинай с него.** Не выдумывай новые цвета — модифицируй существующие.
|
|
||||||
364
generate_pdf.py
364
generate_pdf.py
@ -1,364 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
|
|
||||||
from reportlab.lib import colors
|
|
||||||
from reportlab.lib.pagesizes import A4, landscape
|
|
||||||
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, PageBreak
|
|
||||||
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
|
|
||||||
from reportlab.lib.units import cm, inch
|
|
||||||
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
|
|
||||||
from reportlab.pdfbase import pdfmetrics
|
|
||||||
from reportlab.pdfbase.ttfonts import TTFont
|
|
||||||
|
|
||||||
# Register a font that supports Cyrillic (using DejaVu or similar if available)
|
|
||||||
# For simplicity, we'll use a standard font that should work
|
|
||||||
try:
|
|
||||||
pdfmetrics.registerFont(TTFont('DejaVu', '/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf'))
|
|
||||||
FONT_NAME = 'DejaVu'
|
|
||||||
except:
|
|
||||||
FONT_NAME = 'Helvetica' # Fallback (won't support Cyrillic properly)
|
|
||||||
|
|
||||||
def create_pdf():
|
|
||||||
doc = SimpleDocTemplate(
|
|
||||||
"projects_report.pdf",
|
|
||||||
pagesize=landscape(A4),
|
|
||||||
rightMargin=1.5*cm,
|
|
||||||
leftMargin=1.5*cm,
|
|
||||||
topMargin=1.5*cm,
|
|
||||||
bottomMargin=1.5*cm
|
|
||||||
)
|
|
||||||
|
|
||||||
styles = getSampleStyleSheet()
|
|
||||||
|
|
||||||
# Custom styles
|
|
||||||
title_style = ParagraphStyle(
|
|
||||||
'CustomTitle',
|
|
||||||
parent=styles['Heading1'],
|
|
||||||
fontSize=24,
|
|
||||||
textColor=colors.HexColor('#1e3a5f'),
|
|
||||||
spaceAfter=30,
|
|
||||||
alignment=TA_CENTER,
|
|
||||||
fontName=FONT_NAME
|
|
||||||
)
|
|
||||||
|
|
||||||
subtitle_style = ParagraphStyle(
|
|
||||||
'CustomSubtitle',
|
|
||||||
parent=styles['Heading2'],
|
|
||||||
fontSize=14,
|
|
||||||
textColor=colors.HexColor('#64748b'),
|
|
||||||
spaceAfter=20,
|
|
||||||
alignment=TA_CENTER,
|
|
||||||
fontName=FONT_NAME
|
|
||||||
)
|
|
||||||
|
|
||||||
heading_style = ParagraphStyle(
|
|
||||||
'CustomHeading',
|
|
||||||
parent=styles['Heading2'],
|
|
||||||
fontSize=16,
|
|
||||||
textColor=colors.HexColor('#1e3a5f'),
|
|
||||||
spaceAfter=12,
|
|
||||||
spaceBefore=12,
|
|
||||||
fontName=FONT_NAME
|
|
||||||
)
|
|
||||||
|
|
||||||
subheading_style = ParagraphStyle(
|
|
||||||
'CustomSubHeading',
|
|
||||||
parent=styles['Heading3'],
|
|
||||||
fontSize=12,
|
|
||||||
textColor=colors.HexColor('#3b82f6'),
|
|
||||||
spaceAfter=8,
|
|
||||||
spaceBefore=8,
|
|
||||||
fontName=FONT_NAME
|
|
||||||
)
|
|
||||||
|
|
||||||
normal_style = ParagraphStyle(
|
|
||||||
'CustomNormal',
|
|
||||||
parent=styles['Normal'],
|
|
||||||
fontSize=10,
|
|
||||||
textColor=colors.HexColor('#334155'),
|
|
||||||
spaceAfter=6,
|
|
||||||
alignment=TA_JUSTIFY,
|
|
||||||
fontName=FONT_NAME
|
|
||||||
)
|
|
||||||
|
|
||||||
bullet_style = ParagraphStyle(
|
|
||||||
'CustomBullet',
|
|
||||||
parent=styles['Normal'],
|
|
||||||
fontSize=10,
|
|
||||||
textColor=colors.HexColor('#334155'),
|
|
||||||
spaceAfter=4,
|
|
||||||
leftIndent=20,
|
|
||||||
fontName=FONT_NAME
|
|
||||||
)
|
|
||||||
|
|
||||||
story = []
|
|
||||||
|
|
||||||
# Title page
|
|
||||||
story.append(Spacer(1, 2*cm))
|
|
||||||
story.append(Paragraph("ОТЧЕТ ПО ПРОЕКТАМ БКВ", title_style))
|
|
||||||
story.append(Paragraph("Справка о ходе реализации 9 проектов", subtitle_style))
|
|
||||||
story.append(Spacer(1, 1*cm))
|
|
||||||
|
|
||||||
# Summary table
|
|
||||||
summary_data = [
|
|
||||||
['№', 'Проект', 'Статус', 'Период', 'План/Освоено (тыс. ₸)'],
|
|
||||||
['1', 'Smart Aqkol 2025', 'Завершена', '2025-2028', '334 192'],
|
|
||||||
['2', 'Комплексное решение для приемных покоев', 'Рассмотрение заявок', '2026-2032', '3 794 965'],
|
|
||||||
['3', 'Смарт-видеожетоны', 'Рассмотрение заявок', '2026-2033', '4 240 714'],
|
|
||||||
['4', 'GenAI KT', 'Внедрение', '-', '727 000 (доход)'],
|
|
||||||
['5', 'Единая инфраструктура дронов', 'Масштабирование', '2025-2030', '1 210 956'],
|
|
||||||
['6', 'Национальный каталог товаров', 'Опытная эксплуатация', '-', 'На финансировании'],
|
|
||||||
['7', 'ЦОД в г. Косшы', 'Завершающая стадия', '-', '3 711 077'],
|
|
||||||
['8', 'Вычислительные мощности для ИИ', 'Масштабирование', '2 этапа', '-'],
|
|
||||||
['9', 'Холодовая цепь', 'Подготовка к запуску', 'Старт 01.10.2026', '-']
|
|
||||||
]
|
|
||||||
|
|
||||||
summary_table = Table(summary_data, colWidths=[0.8*cm, 5*cm, 3.5*cm, 3*cm, 4*cm])
|
|
||||||
summary_table.setStyle(TableStyle([
|
|
||||||
('BACKGROUND', (0, 0), (-1, 0), colors.HexColor('#1e3a5f')),
|
|
||||||
('TEXTCOLOR', (0, 0), (-1, 0), colors.whitesmoke),
|
|
||||||
('ALIGN', (0, 0), (-1, -1), 'CENTER'),
|
|
||||||
('FONTNAME', (0, 0), (-1, 0), FONT_NAME),
|
|
||||||
('FONTSIZE', (0, 0), (-1, 0), 11),
|
|
||||||
('BOTTOMPADDING', (0, 0), (-1, 0), 12),
|
|
||||||
('BACKGROUND', (0, 1), (-1, -1), colors.HexColor('#f1f5f9')),
|
|
||||||
('FONTNAME', (0, 1), (-1, -1), FONT_NAME),
|
|
||||||
('FONTSIZE', (0, 1), (-1, -1), 9),
|
|
||||||
('TOPPADDING', (0, 1), (-1, -1), 8),
|
|
||||||
('BOTTOMPADDING', (0, 1), (-1, -1), 8),
|
|
||||||
('GRID', (0, 0), (-1, -1), 1, colors.HexColor('#cbd5e1')),
|
|
||||||
]))
|
|
||||||
|
|
||||||
story.append(summary_table)
|
|
||||||
story.append(Spacer(1, 0.5*cm))
|
|
||||||
story.append(Paragraph("Дата формирования отчета: Август 2026", normal_style))
|
|
||||||
story.append(PageBreak())
|
|
||||||
|
|
||||||
# Project details
|
|
||||||
projects = [
|
|
||||||
{
|
|
||||||
'title': '1. Проект «Smart Aqkol 2025: Расширение цифровых решений и внедрение ИИ»',
|
|
||||||
'status': 'Завершена',
|
|
||||||
'period': '4 года (2025-2028)',
|
|
||||||
'budget': '334 192 тыс. ₸',
|
|
||||||
'details': [
|
|
||||||
('СПП элемент', 'I.25.DBD.58.002'),
|
|
||||||
('Сумма договора (без НДС)', '151 897 тыс. ₸'),
|
|
||||||
('План доходов', '1 114 082 тыс. ₸'),
|
|
||||||
('План расходов', '636 090 тыс. ₸'),
|
|
||||||
('Фактический расход', '0 тыс. ₸'),
|
|
||||||
('План CAPEX', '334 192,2 тыс. ₸'),
|
|
||||||
('Фактически освоенный CAPEX', '334 192 тыс. ₸'),
|
|
||||||
],
|
|
||||||
'description': 'В рамках совместной работы, ДУПом было подписано дополнительное соглашение к договору с Консорциумом в составе АО «Логиком» совместно с ТОО «ОптикСтрой».',
|
|
||||||
'current_status': 'По данному объекту в рамках договора № 1098000/2025/5 от 12.06.2025 подрядной организации передан заказ №1098000/2025/5/004. СМР в работе. Подрядчик продолжает выполнение строительно-монтажных работ.'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'title': '2. Проект «Комплексное решение для приемных покоев»',
|
|
||||||
'status': 'Рассмотрение заявок',
|
|
||||||
'period': '7 лет (2026-2032)',
|
|
||||||
'budget': '3 794 965 тыс. ₸',
|
|
||||||
'details': [
|
|
||||||
('СПП элемент', 'I.26.DBD.58.006/01-01'),
|
|
||||||
('План БКВ на 2026 год', '3 794 965 тыс. ₸'),
|
|
||||||
('План доходов', '12 362 599 тыс. ₸'),
|
|
||||||
('План расходов', '6 061 935 тыс. ₸'),
|
|
||||||
('План CAPEX', '3 794 964,9 тыс. ₸'),
|
|
||||||
],
|
|
||||||
'description': '',
|
|
||||||
'current_status': 'Прием заявок завершен. Ведется рассмотрение заявок на портале zakup.sk.kz.'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'title': '3. Проект «Смарт-видеожетоны»',
|
|
||||||
'status': 'Рассмотрение заявок',
|
|
||||||
'period': '8 лет (2026-2033)',
|
|
||||||
'budget': '4 240 714 тыс. ₸',
|
|
||||||
'details': [
|
|
||||||
('Ответственный', 'Қапан Даурен'),
|
|
||||||
('СПП элемент', 'I.26.DBD.58.002/01-01'),
|
|
||||||
('План БКВ на 2026 год', '4 240 714 тыс. ₸'),
|
|
||||||
('План доходов', '10 614 456 тыс. ₸'),
|
|
||||||
('План расходов', '5 143 647 тыс. ₸'),
|
|
||||||
('План CAPEX', '4 240 714,2 тыс. ₸'),
|
|
||||||
],
|
|
||||||
'description': '',
|
|
||||||
'current_status': 'Прием заявок завершен. Ведется рассмотрение заявок на портале zakup.sk.kz.'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'title': '4. Проект «GenAI KT»',
|
|
||||||
'status': 'Внедрение',
|
|
||||||
'period': '-',
|
|
||||||
'budget': '727 млн ₸ (доход 2026)',
|
|
||||||
'details': [
|
|
||||||
('Направление', 'Разработка и коммерциализация решений на базе ИИ'),
|
|
||||||
('Клиенты', 'АО «Самрук-Қазына» и портфельные компании'),
|
|
||||||
],
|
|
||||||
'description': 'GenAI KT - это направление по разработке и коммерциализации решений на базе искусственного интеллекта для корпоративного и государственного сектора. Проект включает создание AI-агентов, Generative AI и аналитических решений.',
|
|
||||||
'current_status': 'В 2026 году получены доходы в размере 727 млн. тенге. Разработаны: AI-рекрутер, AI-юрист, AI БиОТ, AI по социальной стабильности, SKAI, SKAI Data, AI-агент «Жеті Жарғы» для Сената. Проводятся тестирование и внедрение с портфельными компаниями (АО «Казпочта», АО «Самрук-Энерго», АО «НГК «Тау-Кен Самрук», АО «KEGOC»).',
|
|
||||||
'bullets': [
|
|
||||||
'Внедрение ИИ-агентов - 727 млн. тенге',
|
|
||||||
'Увеличение штатной численности Департамента AI',
|
|
||||||
'Проводится работа по коммерциализации и заключению доходных договоров'
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'title': '5. Проект «Единая инфраструктура дронов»',
|
|
||||||
'status': 'Масштабирование',
|
|
||||||
'period': '2025-2030',
|
|
||||||
'budget': '1 210 956,26 тыс. ₸ (освоено в 2025)',
|
|
||||||
'details': [
|
|
||||||
('Освоено 2025', '1 210 956,26 тыс. ₸'),
|
|
||||||
('CAPEX 2026', 'Не предусмотрен'),
|
|
||||||
('Оборудование', '89 дронов с док-станциями'),
|
|
||||||
('Штат', '18 сотрудников (Служба БПЛА)'),
|
|
||||||
],
|
|
||||||
'description': 'Инновационная платформа, объединяющая сервисную модель предоставления дронов и облачное ПО для планирования миссий и управления воздушным трафиком.',
|
|
||||||
'current_status': '2025: Закуп оборудования и платформы, создание Службы БПЛА, пилотные проекты с госорганами, введение в эксплуатацию. 2026: Получение разрешений на полеты, заключены доходные договоры с госорганами, ведется масштабирование.'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'title': '6. Проект «Национальный каталог товаров»',
|
|
||||||
'status': 'Опытная эксплуатация',
|
|
||||||
'period': '-',
|
|
||||||
'budget': 'На рассмотрении в Минфине',
|
|
||||||
'details': [
|
|
||||||
('Утверждение БП', 'Протокол № 32 от 8 июля 2026'),
|
|
||||||
('Статус системы', 'Акт запуска от 31.12.2025'),
|
|
||||||
('Финансирование', 'На рассмотрении в Министерстве финансов'),
|
|
||||||
],
|
|
||||||
'description': 'ТОО «Центр развития цифровой экономики» обеспечивает функционирование и развитие информационной системы НКТ.',
|
|
||||||
'current_status': 'НКТ функционирует в режиме опытной эксплуатации с 1 января 2026 года. Выполняются функции по регистрации товаров и актуализации сведений. Разработаны Методика пост-мониторинга и План-график реализации (на проверке).',
|
|
||||||
'bullets': [
|
|
||||||
'Регистрация и ведение карточек товаров',
|
|
||||||
'Присвоение кодов NTIN',
|
|
||||||
'Модерация и актуализация сведений',
|
|
||||||
'Развитие ИИ-инструментов для анализа карточек',
|
|
||||||
'Проработка обеспечения GPU-ресурсами'
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'title': '7. Проект «Строительство ЦОД в г. Косшы»',
|
|
||||||
'status': 'Завершающая стадия',
|
|
||||||
'period': '-',
|
|
||||||
'budget': '3 711 077 тыс. ₸ (освоено янв-авг 2026)',
|
|
||||||
'details': [
|
|
||||||
('Освоено (янв-авг 2026)', '3 711 077 тыс. ₸'),
|
|
||||||
('Готовность здания', '100%'),
|
|
||||||
('Готовность оборудования', '100%'),
|
|
||||||
('Характеристики', '248 стоек, мощность ≥ 3,5 МВт'),
|
|
||||||
('№ закупа подстанций', '1234623'),
|
|
||||||
],
|
|
||||||
'description': 'Проект предусматривает создание современной инфраструктуры ЦОД с размещением IT-оборудования и соответствующими инженерными системами.',
|
|
||||||
'current_status': 'Основное здание и оборудование имеют 100% готовность. Проводятся тендерные процедуры по расширению (модернизации) подстанций (рассмотрение заявок).'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'title': '8. Проект «Развитие вычислительных мощностей для ИИ-решений»',
|
|
||||||
'status': 'Масштабирование (2 этап)',
|
|
||||||
'period': '-',
|
|
||||||
'budget': '-',
|
|
||||||
'details': [
|
|
||||||
('Основание', 'Поручение ГГ от 25.01.2025 (ППРК № 592)'),
|
|
||||||
('Локация', 'г. Алматы, ул. Диваева, 39'),
|
|
||||||
('Этап I', '50 серверов HGX, 400 GPU NVIDIA H200, СХД 6 ПБ'),
|
|
||||||
('Этап II', '60 серверов HGX, 480 GPU NVIDIA B300'),
|
|
||||||
('Статус Этапа I', 'Введен в эксплуатацию 19.09.2025, используется на 100%'),
|
|
||||||
('Статус Этапа II', 'Договор от 05.06.2026, монтаж до конца 2026'),
|
|
||||||
],
|
|
||||||
'description': 'Суперкомпьютерный комплекс Al-Farabium для предоставления вычислительных мощностей в аренду B2B & B2G клиентам.',
|
|
||||||
'current_status': 'Этап I: 323 GPU (80%) выделено коммерческим клиентам, 77 GPU (20%) - пилотным проектам. Этап II: Договор с ТОО «АСБИС Казахстан» заключен, планируется поставка, монтаж и установка в ЦОД г. Косшы до конца III квартала 2026.',
|
|
||||||
'bullets': [
|
|
||||||
'1 квартал 2026: Защита бизнес-плана, закупочные процедуры',
|
|
||||||
'2 квартал 2026: Закуп B300, заключение договора',
|
|
||||||
'3 квартал 2026: Монтаж и установка в ЦОД Косшы',
|
|
||||||
'4 квартал 2026: Бенч-тесты, ввод в эксплуатацию, коммерциализация'
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'title': '9. Проект «Холодовая цепь»',
|
|
||||||
'status': 'Подготовка к запуску',
|
|
||||||
'period': 'Старт 1 октября 2026',
|
|
||||||
'budget': '-',
|
|
||||||
'details': [
|
|
||||||
('Старт услуг', '1 октября 2026'),
|
|
||||||
('Датчики', '15 000 штук (первая партия)'),
|
|
||||||
('Технический партнер', '«КейДата»'),
|
|
||||||
],
|
|
||||||
'description': 'Система мониторинга для медицинских организаций.',
|
|
||||||
'current_status': 'Подписан договор на 33 медорганизации с УЗ ЗКО, на регистрации договор на 51 медорганизацию по Астане. Ожидается подписание на 27 организаций в Актобе. В Жетісу и Шымкенте договоры заключаются напрямую. В 5 областях бюджет выделен, КП направлено.',
|
|
||||||
'bullets': [
|
|
||||||
'ИС развернута в тестовой среде',
|
|
||||||
'Датчики проходят таможенные процедуры',
|
|
||||||
'Вопросы с техпартнером прорабатываются ежедневно'
|
|
||||||
]
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
for i, project in enumerate(projects):
|
|
||||||
story.append(Paragraph(project['title'], heading_style))
|
|
||||||
story.append(Spacer(1, 0.3*cm))
|
|
||||||
|
|
||||||
# Status bar
|
|
||||||
status_data = [['Статус:', project['status'], 'Период:', project['period'], 'Бюджет:', project['budget']]]
|
|
||||||
status_table = Table(status_data, colWidths=[1.5*cm, 4*cm, 1.5*cm, 4*cm, 1.5*cm, 5*cm])
|
|
||||||
status_table.setStyle(TableStyle([
|
|
||||||
('BACKGROUND', (0, 0), (-1, 0), colors.HexColor('#f1f5f9')),
|
|
||||||
('FONTNAME', (0, 0), (-1, 0), FONT_NAME),
|
|
||||||
('FONTSIZE', (0, 0), (-1, 0), 9),
|
|
||||||
('TOPPADDING', (0, 0), (-1, 0), 8),
|
|
||||||
('BOTTOMPADDING', (0, 0), (-1, 0), 8),
|
|
||||||
('ALIGN', (0, 0), (-1, 0), 'LEFT'),
|
|
||||||
]))
|
|
||||||
story.append(status_table)
|
|
||||||
story.append(Spacer(1, 0.3*cm))
|
|
||||||
|
|
||||||
# Details table
|
|
||||||
if project['details']:
|
|
||||||
details_data = [['Параметр', 'Значение']]
|
|
||||||
for key, value in project['details']:
|
|
||||||
details_data.append([key, value])
|
|
||||||
|
|
||||||
details_table = Table(details_data, colWidths=[6*cm, 8*cm])
|
|
||||||
details_table.setStyle(TableStyle([
|
|
||||||
('BACKGROUND', (0, 0), (-1, 0), colors.HexColor('#3b82f6')),
|
|
||||||
('TEXTCOLOR', (0, 0), (-1, 0), colors.whitesmoke),
|
|
||||||
('FONTNAME', (0, 0), (-1, 0), FONT_NAME),
|
|
||||||
('FONTSIZE', (0, 0), (-1, 0), 10),
|
|
||||||
('TOPPADDING', (0, 0), (-1, 0), 8),
|
|
||||||
('BOTTOMPADDING', (0, 0), (-1, 0), 8),
|
|
||||||
('BACKGROUND', (0, 1), (-1, -1), colors.HexColor('#f8fafc')),
|
|
||||||
('FONTNAME', (0, 1), (-1, -1), FONT_NAME),
|
|
||||||
('FONTSIZE', (0, 1), (-1, -1), 9),
|
|
||||||
('TOPPADDING', (0, 1), (-1, -1), 6),
|
|
||||||
('BOTTOMPADDING', (0, 1), (-1, -1), 6),
|
|
||||||
('GRID', (0, 0), (-1, -1), 0.5, colors.HexColor('#cbd5e1')),
|
|
||||||
('VALIGN', (0, 0), (-1, -1), 'TOP'),
|
|
||||||
]))
|
|
||||||
story.append(details_table)
|
|
||||||
story.append(Spacer(1, 0.3*cm))
|
|
||||||
|
|
||||||
# Description
|
|
||||||
if project.get('description'):
|
|
||||||
story.append(Paragraph("Описание проекта:", subheading_style))
|
|
||||||
story.append(Paragraph(project['description'], normal_style))
|
|
||||||
story.append(Spacer(1, 0.2*cm))
|
|
||||||
|
|
||||||
# Current status
|
|
||||||
if project.get('current_status'):
|
|
||||||
story.append(Paragraph("Текущий статус:", subheading_style))
|
|
||||||
story.append(Paragraph(project['current_status'], normal_style))
|
|
||||||
story.append(Spacer(1, 0.2*cm))
|
|
||||||
|
|
||||||
# Bullets
|
|
||||||
if project.get('bullets'):
|
|
||||||
for bullet in project['bullets']:
|
|
||||||
story.append(Paragraph(f"• {bullet}", bullet_style))
|
|
||||||
|
|
||||||
story.append(Spacer(1, 0.5*cm))
|
|
||||||
if i < len(projects) - 1:
|
|
||||||
story.append(PageBreak())
|
|
||||||
|
|
||||||
# Build PDF
|
|
||||||
doc.build(story)
|
|
||||||
print("PDF успешно создан: projects_report.pdf")
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
create_pdf()
|
|
||||||
668
index.html
668
index.html
@ -1,668 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="ru">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>Отчет по проектам БКВ</title>
|
|
||||||
<script src="https://cdn.tailwindcss.com"></script>
|
|
||||||
<style>
|
|
||||||
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700;900&display=swap');
|
|
||||||
|
|
||||||
* {
|
|
||||||
font-family: 'Inter', sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.slide {
|
|
||||||
display: none;
|
|
||||||
min-height: 100vh;
|
|
||||||
padding: 2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.slide.active {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.slide-content {
|
|
||||||
max-width: 1200px;
|
|
||||||
margin: 0 auto;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.progress-bar {
|
|
||||||
position: fixed;
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
height: 4px;
|
|
||||||
background: linear-gradient(90deg, #3b82f6, #8b5cf6);
|
|
||||||
transition: width 0.3s ease;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nav-btn {
|
|
||||||
position: fixed;
|
|
||||||
top: 50%;
|
|
||||||
transform: translateY(-50%);
|
|
||||||
background: rgba(59, 130, 246, 0.9);
|
|
||||||
color: white;
|
|
||||||
border: none;
|
|
||||||
padding: 1rem 1.5rem;
|
|
||||||
font-size: 1.5rem;
|
|
||||||
cursor: pointer;
|
|
||||||
border-radius: 0.5rem;
|
|
||||||
transition: all 0.3s ease;
|
|
||||||
z-index: 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nav-btn:hover {
|
|
||||||
background: rgba(59, 130, 246, 1);
|
|
||||||
transform: translateY(-50%) scale(1.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.nav-btn.prev {
|
|
||||||
left: 2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nav-btn.next {
|
|
||||||
right: 2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.slide-indicator {
|
|
||||||
position: fixed;
|
|
||||||
bottom: 2rem;
|
|
||||||
left: 50%;
|
|
||||||
transform: translateX(-50%);
|
|
||||||
display: flex;
|
|
||||||
gap: 0.5rem;
|
|
||||||
z-index: 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
.indicator {
|
|
||||||
width: 12px;
|
|
||||||
height: 12px;
|
|
||||||
border-radius: 50%;
|
|
||||||
background: rgba(255, 255, 255, 0.3);
|
|
||||||
cursor: pointer;
|
|
||||||
transition: all 0.3s ease;
|
|
||||||
}
|
|
||||||
|
|
||||||
.indicator.active {
|
|
||||||
background: #3b82f6;
|
|
||||||
transform: scale(1.2);
|
|
||||||
}
|
|
||||||
|
|
||||||
.metric-card {
|
|
||||||
background: rgba(255, 255, 255, 0.1);
|
|
||||||
backdrop-filter: blur(10px);
|
|
||||||
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
||||||
border-radius: 1rem;
|
|
||||||
padding: 1.5rem;
|
|
||||||
transition: transform 0.3s ease;
|
|
||||||
}
|
|
||||||
|
|
||||||
.metric-card:hover {
|
|
||||||
transform: translateY(-5px);
|
|
||||||
}
|
|
||||||
|
|
||||||
.status-badge {
|
|
||||||
display: inline-block;
|
|
||||||
padding: 0.5rem 1rem;
|
|
||||||
border-radius: 2rem;
|
|
||||||
font-weight: 600;
|
|
||||||
font-size: 0.875rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.status-completed {
|
|
||||||
background: rgba(34, 197, 94, 0.2);
|
|
||||||
color: #4ade80;
|
|
||||||
}
|
|
||||||
|
|
||||||
.status-progress {
|
|
||||||
background: rgba(59, 130, 246, 0.2);
|
|
||||||
color: #60a5fa;
|
|
||||||
}
|
|
||||||
|
|
||||||
.status-review {
|
|
||||||
background: rgba(251, 191, 36, 0.2);
|
|
||||||
color: #fbbf24;
|
|
||||||
}
|
|
||||||
|
|
||||||
.gradient-bg {
|
|
||||||
background: linear-gradient(135deg, #1e3a5f 0%, #0f172a 100%);
|
|
||||||
}
|
|
||||||
|
|
||||||
.accent-gradient {
|
|
||||||
background: linear-gradient(135deg, #3b82f6, #8b5cf6);
|
|
||||||
-webkit-background-clip: text;
|
|
||||||
-webkit-text-fill-color: transparent;
|
|
||||||
background-clip: text;
|
|
||||||
}
|
|
||||||
|
|
||||||
.slide-number {
|
|
||||||
position: fixed;
|
|
||||||
top: 2rem;
|
|
||||||
right: 2rem;
|
|
||||||
font-size: 0.875rem;
|
|
||||||
opacity: 0.5;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body class="gradient-bg text-white">
|
|
||||||
<div class="progress-bar" id="progressBar"></div>
|
|
||||||
|
|
||||||
<button class="nav-btn prev" onclick="prevSlide()">‹</button>
|
|
||||||
<button class="nav-btn next" onclick="nextSlide()">›</button>
|
|
||||||
|
|
||||||
<div class="slide-indicator" id="slideIndicator"></div>
|
|
||||||
|
|
||||||
<div class="slide-number" id="slideNumber"></div>
|
|
||||||
|
|
||||||
<!-- Слайд 1: Титульный -->
|
|
||||||
<div class="slide active" id="slide1">
|
|
||||||
<div class="slide-content text-center">
|
|
||||||
<h1 class="text-6xl font-black mb-6 accent-gradient">
|
|
||||||
Отчет по проектам БКВ
|
|
||||||
</h1>
|
|
||||||
<p class="text-2xl text-gray-300 mb-12">
|
|
||||||
Справка о ходе реализации 9 проектов
|
|
||||||
</p>
|
|
||||||
<div class="grid grid-cols-3 gap-8 mt-16">
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-5xl font-bold text-blue-400 mb-2">9</div>
|
|
||||||
<div class="text-gray-400">проектов</div>
|
|
||||||
</div>
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-5xl font-bold text-green-400 mb-2">2025-2033</div>
|
|
||||||
<div class="text-gray-400">период реализации</div>
|
|
||||||
</div>
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-5xl font-bold text-purple-400 mb-2">ИИ + Инфраструктура</div>
|
|
||||||
<div class="text-gray-400">ключевые направления</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Слайд 2: Проект 1 - Smart Aqkol 2025 -->
|
|
||||||
<div class="slide" id="slide2">
|
|
||||||
<div class="slide-content">
|
|
||||||
<div class="mb-8">
|
|
||||||
<span class="status-badge status-completed">Завершена</span>
|
|
||||||
</div>
|
|
||||||
<h2 class="text-4xl font-bold mb-6">Smart Aqkol 2025</h2>
|
|
||||||
<p class="text-xl text-gray-300 mb-8">Расширение цифровых решений и внедрение ИИ</p>
|
|
||||||
|
|
||||||
<div class="grid grid-cols-2 gap-6 mb-8">
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">План БП</div>
|
|
||||||
<div class="text-2xl font-bold">334 192 тыс. ₸</div>
|
|
||||||
</div>
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">План доходов</div>
|
|
||||||
<div class="text-2xl font-bold">1 114 082 тыс. ₸</div>
|
|
||||||
</div>
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">План CAPEX</div>
|
|
||||||
<div class="text-2xl font-bold">334 192 тыс. ₸</div>
|
|
||||||
</div>
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">Период</div>
|
|
||||||
<div class="text-2xl font-bold">4 года (2025-2028)</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="metric-card">
|
|
||||||
<h3 class="text-xl font-bold mb-4">Текущий статус</h3>
|
|
||||||
<p class="text-gray-300">
|
|
||||||
Подрядной организации передан заказ №1098000/2025/5/004. СМР в работе.
|
|
||||||
Подрядчик продолжает выполнение строительно-монтажных работ.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Слайд 3: Проект 2 - Комплексное решение для приемных покоев -->
|
|
||||||
<div class="slide" id="slide3">
|
|
||||||
<div class="slide-content">
|
|
||||||
<div class="mb-8">
|
|
||||||
<span class="status-badge status-review">Рассмотрение заявок</span>
|
|
||||||
</div>
|
|
||||||
<h2 class="text-4xl font-bold mb-6">Комплексное решение для приемных покоев</h2>
|
|
||||||
|
|
||||||
<div class="grid grid-cols-2 gap-6 mb-8">
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">План БП</div>
|
|
||||||
<div class="text-2xl font-bold">3 794 965 тыс. ₸</div>
|
|
||||||
</div>
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">План доходов</div>
|
|
||||||
<div class="text-2xl font-bold">12 362 599 тыс. ₸</div>
|
|
||||||
</div>
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">План расходов</div>
|
|
||||||
<div class="text-2xl font-bold">6 061 935 тыс. ₸</div>
|
|
||||||
</div>
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">Период</div>
|
|
||||||
<div class="text-2xl font-bold">7 лет (2026-2032)</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="metric-card">
|
|
||||||
<h3 class="text-xl font-bold mb-4">Текущий статус</h3>
|
|
||||||
<p class="text-gray-300">
|
|
||||||
Прием заявок завершен. Ведется рассмотрение заявок на портале zakup.sk.kz.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Слайд 4: Проект 3 - Смарт-видеожетоны -->
|
|
||||||
<div class="slide" id="slide4">
|
|
||||||
<div class="slide-content">
|
|
||||||
<div class="mb-8">
|
|
||||||
<span class="status-badge status-review">Рассмотрение заявок</span>
|
|
||||||
</div>
|
|
||||||
<h2 class="text-4xl font-bold mb-6">Смарт-видеожетоны</h2>
|
|
||||||
<p class="text-gray-400 mb-4">Ответственный: Қапан Даурен</p>
|
|
||||||
|
|
||||||
<div class="grid grid-cols-2 gap-6 mb-8">
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">План БП</div>
|
|
||||||
<div class="text-2xl font-bold">4 240 714 тыс. ₸</div>
|
|
||||||
</div>
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">План доходов</div>
|
|
||||||
<div class="text-2xl font-bold">10 614 456 тыс. ₸</div>
|
|
||||||
</div>
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">План расходов</div>
|
|
||||||
<div class="text-2xl font-bold">5 143 647 тыс. ₸</div>
|
|
||||||
</div>
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">Период</div>
|
|
||||||
<div class="text-2xl font-bold">8 лет (2026-2033)</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="metric-card">
|
|
||||||
<h3 class="text-xl font-bold mb-4">Текущий статус</h3>
|
|
||||||
<p class="text-gray-300">
|
|
||||||
Прием заявок завершен. Ведется рассмотрение заявок на портале zakup.sk.kz.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Слайд 5: Проект 4 - GenAI KT -->
|
|
||||||
<div class="slide" id="slide5">
|
|
||||||
<div class="slide-content">
|
|
||||||
<div class="mb-8">
|
|
||||||
<span class="status-badge status-progress">Внедрение</span>
|
|
||||||
</div>
|
|
||||||
<h2 class="text-4xl font-bold mb-6">GenAI KT</h2>
|
|
||||||
<p class="text-xl text-gray-300 mb-8">
|
|
||||||
Разработка и коммерциализация решений на базе ИИ для корпоративного и государственного сектора
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div class="grid grid-cols-2 gap-6 mb-8">
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">Доход 2026</div>
|
|
||||||
<div class="text-2xl font-bold text-green-400">727 млн ₸</div>
|
|
||||||
</div>
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">Клиенты</div>
|
|
||||||
<div class="text-xl font-bold">Самрук-Қазына + портфельные компании</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="metric-card mb-6">
|
|
||||||
<h3 class="text-xl font-bold mb-4">Разработанные решения</h3>
|
|
||||||
<ul class="space-y-2 text-gray-300">
|
|
||||||
<li>• AI-рекрутер, AI-юрист, AI БиОТ, AI по социальной стабильности</li>
|
|
||||||
<li>• SKAI, SKAI Data</li>
|
|
||||||
<li>• AI-агент «Жеті Жарғы» для Сената</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="metric-card">
|
|
||||||
<h3 class="text-xl font-bold mb-4">Статус</h3>
|
|
||||||
<p class="text-gray-300">
|
|
||||||
Проводится тестирование и внедрение с портфельными компаниями (Казпочта, Самрук-Энерго, Тау-Кен Самрук, KEGOC).
|
|
||||||
Ведется работа по коммерциализации.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Слайд 6: Проект 5 - Единая инфраструктура дронов -->
|
|
||||||
<div class="slide" id="slide6">
|
|
||||||
<div class="slide-content">
|
|
||||||
<div class="mb-8">
|
|
||||||
<span class="status-badge status-progress">Масштабирование</span>
|
|
||||||
</div>
|
|
||||||
<h2 class="text-4xl font-bold mb-6">Единая инфраструктура дронов</h2>
|
|
||||||
<p class="text-xl text-gray-300 mb-8">
|
|
||||||
Инновационная платформа для управления дронами и воздушным трафиком
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div class="grid grid-cols-2 gap-6 mb-8">
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">Освоено 2025</div>
|
|
||||||
<div class="text-2xl font-bold">1 210 956 тыс. ₸</div>
|
|
||||||
</div>
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">Оборудование</div>
|
|
||||||
<div class="text-xl font-bold">89 дронов с док-станциями</div>
|
|
||||||
</div>
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">Штат</div>
|
|
||||||
<div class="text-2xl font-bold">18 сотрудников</div>
|
|
||||||
</div>
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">Период</div>
|
|
||||||
<div class="text-2xl font-bold">2025-2030</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="metric-card">
|
|
||||||
<h3 class="text-xl font-bold mb-4">Статус 2026</h3>
|
|
||||||
<ul class="space-y-2 text-gray-300">
|
|
||||||
<li>• Получение разрешений на полеты согласно законам РК</li>
|
|
||||||
<li>• Заключены доходные договоры с Гос. Органами</li>
|
|
||||||
<li>• Ведется масштабирование проекта</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Слайд 7: Проект 6 - Национальный каталог товаров -->
|
|
||||||
<div class="slide" id="slide7">
|
|
||||||
<div class="slide-content">
|
|
||||||
<div class="mb-8">
|
|
||||||
<span class="status-badge status-progress">Опытная эксплуатация</span>
|
|
||||||
</div>
|
|
||||||
<h2 class="text-4xl font-bold mb-6">Национальный каталог товаров</h2>
|
|
||||||
<p class="text-xl text-gray-300 mb-8">
|
|
||||||
Информационная система регистрации и ведения карточек товаров
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div class="metric-card mb-6">
|
|
||||||
<h3 class="text-xl font-bold mb-4">Текущая деятельность</h3>
|
|
||||||
<ul class="space-y-2 text-gray-300">
|
|
||||||
<li>• Регистрация и ведение карточек товаров</li>
|
|
||||||
<li>• Присвоение кодов NTIN</li>
|
|
||||||
<li>• Модерация и актуализация сведений</li>
|
|
||||||
<li>• Информационно-консультационная поддержка</li>
|
|
||||||
<li>• Развитие ИИ-инструментов для анализа карточек</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="grid grid-cols-2 gap-6">
|
|
||||||
<div class="metric-card">
|
|
||||||
<h3 class="text-lg font-bold mb-2">Финансирование</h3>
|
|
||||||
<p class="text-gray-300 text-sm">
|
|
||||||
Вопрос выделения средств из республиканского бюджета на рассмотрении Министерства финансов
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div class="metric-card">
|
|
||||||
<h3 class="text-lg font-bold mb-2">Документы</h3>
|
|
||||||
<p class="text-gray-300 text-sm">
|
|
||||||
Методика пост-мониторинга и План-график реализации разработаны и на проверке
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Слайд 8: Проект 7 - ЦОД в г. Косшы -->
|
|
||||||
<div class="slide" id="slide8">
|
|
||||||
<div class="slide-content">
|
|
||||||
<div class="mb-8">
|
|
||||||
<span class="status-badge status-progress">Завершающая стадия</span>
|
|
||||||
</div>
|
|
||||||
<h2 class="text-4xl font-bold mb-6">ЦОД в г. Косшы</h2>
|
|
||||||
<p class="text-xl text-gray-300 mb-8">
|
|
||||||
Строительство Центра обработки данных
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div class="grid grid-cols-3 gap-6 mb-8">
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">Освоено (янв-авг)</div>
|
|
||||||
<div class="text-2xl font-bold">3 711 077 тыс. ₸</div>
|
|
||||||
</div>
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">Готовность здания</div>
|
|
||||||
<div class="text-3xl font-bold text-green-400">100%</div>
|
|
||||||
</div>
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">Готовность оборудования</div>
|
|
||||||
<div class="text-3xl font-bold text-green-400">100%</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="metric-card mb-6">
|
|
||||||
<h3 class="text-xl font-bold mb-4">Характеристики</h3>
|
|
||||||
<ul class="space-y-2 text-gray-300">
|
|
||||||
<li>• 248 стоек для IT-оборудования</li>
|
|
||||||
<li>• Общая мощность: не менее 3,5 МВт</li>
|
|
||||||
<li>• Современные системы размещения и обработки данных</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="metric-card">
|
|
||||||
<h3 class="text-xl font-bold mb-4">Текущий этап</h3>
|
|
||||||
<p class="text-gray-300">
|
|
||||||
Проводятся тендерные процедуры по расширению (модернизации) подстанций.
|
|
||||||
Закуп №1234623. Рассмотрение заявок потенциальных поставщиков.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Слайд 9: Проект 8 - Вычислительные мощности для ИИ -->
|
|
||||||
<div class="slide" id="slide9">
|
|
||||||
<div class="slide-content">
|
|
||||||
<div class="mb-8">
|
|
||||||
<span class="status-badge status-progress">Масштабирование</span>
|
|
||||||
</div>
|
|
||||||
<h2 class="text-4xl font-bold mb-6">Развитие вычислительных мощностей для ИИ</h2>
|
|
||||||
<p class="text-xl text-gray-300 mb-8">
|
|
||||||
Al-Farabium: Суперкомпьютерный комплекс на базе NVIDIA
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div class="grid grid-cols-2 gap-6 mb-8">
|
|
||||||
<div class="metric-card border-green-500/30">
|
|
||||||
<h3 class="text-lg font-bold mb-4 text-green-400">Этап I (завершен)</h3>
|
|
||||||
<ul class="space-y-2 text-gray-300 text-sm">
|
|
||||||
<li>• 50 серверов HGX</li>
|
|
||||||
<li>• 400 GPU NVIDIA H200</li>
|
|
||||||
<li>• СХД 6 ПБ</li>
|
|
||||||
<li>• Введен в эксплуатацию 19.09.2025</li>
|
|
||||||
<li>• Используется на 100%</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="metric-card border-blue-500/30">
|
|
||||||
<h3 class="text-lg font-bold mb-4 text-blue-400">Этап II (в работе)</h3>
|
|
||||||
<ul class="space-y-2 text-gray-300 text-sm">
|
|
||||||
<li>• 60 серверов HGX</li>
|
|
||||||
<li>• 480 GPU NVIDIA B300</li>
|
|
||||||
<li>• Размещение в ЦОД Косшы</li>
|
|
||||||
<li>• Договор от 05.06.2026</li>
|
|
||||||
<li>• Запуск до конца 2026</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="metric-card">
|
|
||||||
<h3 class="text-xl font-bold mb-4">Распределение мощностей (Этап I)</h3>
|
|
||||||
<div class="grid grid-cols-2 gap-4">
|
|
||||||
<div>
|
|
||||||
<div class="text-3xl font-bold text-blue-400">80%</div>
|
|
||||||
<div class="text-gray-400 text-sm">Коммерческие клиенты (323 GPU)</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<div class="text-3xl font-bold text-purple-400">20%</div>
|
|
||||||
<div class="text-gray-400 text-sm">Пилотные проекты (77 GPU)</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Слайд 10: Проект 9 - Холодовая цепь -->
|
|
||||||
<div class="slide" id="slide10">
|
|
||||||
<div class="slide-content">
|
|
||||||
<div class="mb-8">
|
|
||||||
<span class="status-badge status-review">Подготовка к запуску</span>
|
|
||||||
</div>
|
|
||||||
<h2 class="text-4xl font-bold mb-6">Холодовая цепь</h2>
|
|
||||||
<p class="text-xl text-gray-300 mb-8">
|
|
||||||
Система мониторинга для медицинских организаций
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div class="grid grid-cols-2 gap-6 mb-8">
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">Старт услуг</div>
|
|
||||||
<div class="text-2xl font-bold">1 октября 2026</div>
|
|
||||||
</div>
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">Датчики</div>
|
|
||||||
<div class="text-2xl font-bold">15 000 штук</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="metric-card mb-6">
|
|
||||||
<h3 class="text-xl font-bold mb-4">Заключенные договоры</h3>
|
|
||||||
<ul class="space-y-2 text-gray-300">
|
|
||||||
<li>• <span class="text-green-400">✓</span> ЗКО: 33 медицинские организации</li>
|
|
||||||
<li>• <span class="text-green-400">✓</span> Астана: 51 медицинская организация (на регистрации)</li>
|
|
||||||
<li>• <span class="text-yellow-400">○</span> Актобе: 27 организаций (ожидается подписание)</li>
|
|
||||||
<li>• <span class="text-blue-400">◐</span> Жетісу, Шымкент: прямые договоры</li>
|
|
||||||
<li>• <span class="text-blue-400">◐</span> Павлодар, Мангыстау, Жамбыл, Караганда, Акмола: бюджет выделен, КП направлено</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="metric-card">
|
|
||||||
<h3 class="text-xl font-bold mb-4">Технический статус</h3>
|
|
||||||
<p class="text-gray-300">
|
|
||||||
Информационная система развернута в тестовой среде.
|
|
||||||
Первая партия датчиков проходит таможенные процедуры.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Слайд 11: Сводная информация -->
|
|
||||||
<div class="slide" id="slide11">
|
|
||||||
<div class="slide-content">
|
|
||||||
<h2 class="text-4xl font-bold mb-8 text-center">Сводная информация по проектам</h2>
|
|
||||||
|
|
||||||
<div class="grid grid-cols-3 gap-6 mb-8">
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">Завершено</div>
|
|
||||||
<div class="text-4xl font-bold text-green-400">1</div>
|
|
||||||
</div>
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">В работе</div>
|
|
||||||
<div class="text-4xl font-bold text-blue-400">6</div>
|
|
||||||
</div>
|
|
||||||
<div class="metric-card">
|
|
||||||
<div class="text-sm text-gray-400 mb-2">На рассмотрении</div>
|
|
||||||
<div class="text-4xl font-bold text-yellow-400">2</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="metric-card mb-6">
|
|
||||||
<h3 class="text-xl font-bold mb-4">Ключевые направления</h3>
|
|
||||||
<div class="grid grid-cols-2 gap-4">
|
|
||||||
<div>
|
|
||||||
<h4 class="font-bold text-blue-400 mb-2">Искусственный интеллект</h4>
|
|
||||||
<ul class="text-gray-300 text-sm space-y-1">
|
|
||||||
<li>• GenAI KT</li>
|
|
||||||
<li>• Вычислительные мощности (GPU)</li>
|
|
||||||
<li>• Smart Aqkol 2025</li>
|
|
||||||
<li>• НКТ (ИИ-модерация)</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<h4 class="font-bold text-purple-400 mb-2">Инфраструктура</h4>
|
|
||||||
<ul class="text-gray-300 text-sm space-y-1">
|
|
||||||
<li>• ЦОД Косшы</li>
|
|
||||||
<li>• Единая инфраструктура дронов</li>
|
|
||||||
<li>• Холодовая цепь</li>
|
|
||||||
<li>• Смарт-видеожетоны</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="text-center mt-12">
|
|
||||||
<p class="text-2xl font-bold accent-gradient">Спасибо за внимание!</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
let currentSlide = 1;
|
|
||||||
const totalSlides = 11;
|
|
||||||
|
|
||||||
function updateSlide() {
|
|
||||||
document.querySelectorAll('.slide').forEach((slide, index) => {
|
|
||||||
slide.classList.remove('active');
|
|
||||||
if (index + 1 === currentSlide) {
|
|
||||||
slide.classList.add('active');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
document.querySelectorAll('.indicator').forEach((indicator, index) => {
|
|
||||||
indicator.classList.remove('active');
|
|
||||||
if (index + 1 === currentSlide) {
|
|
||||||
indicator.classList.add('active');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
document.getElementById('progressBar').style.width = `${(currentSlide / totalSlides) * 100}%`;
|
|
||||||
document.getElementById('slideNumber').textContent = `${currentSlide} / ${totalSlides}`;
|
|
||||||
}
|
|
||||||
|
|
||||||
function createIndicators() {
|
|
||||||
const container = document.getElementById('slideIndicator');
|
|
||||||
for (let i = 1; i <= totalSlides; i++) {
|
|
||||||
const indicator = document.createElement('div');
|
|
||||||
indicator.className = 'indicator';
|
|
||||||
indicator.onclick = () => {
|
|
||||||
currentSlide = i;
|
|
||||||
updateSlide();
|
|
||||||
};
|
|
||||||
container.appendChild(indicator);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function nextSlide() {
|
|
||||||
if (currentSlide < totalSlides) {
|
|
||||||
currentSlide++;
|
|
||||||
updateSlide();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function prevSlide() {
|
|
||||||
if (currentSlide > 1) {
|
|
||||||
currentSlide--;
|
|
||||||
updateSlide();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
document.addEventListener('keydown', (e) => {
|
|
||||||
if (e.key === 'ArrowRight' || e.key === 'Space') {
|
|
||||||
nextSlide();
|
|
||||||
} else if (e.key === 'ArrowLeft') {
|
|
||||||
prevSlide();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
createIndicators();
|
|
||||||
updateSlide();
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
Binary file not shown.
Loading…
Reference in New Issue
Block a user