Нужно разработать приложение по ТЗ ниже, работать будем по этапам (смотрите дорожную карту ниже), сейчас нужно выбрать финальную сумму за которую вы сделаете всю систему от и до, а также мне нужно выбрать исполнителя, работать будем через сейф, предлагайте бюджеты и кейсы.
Прикрепил склете проекта с чего будем начинать (это ориентир для разработки от ГПТ)
Что получает клиент (результат за ≤ 1 минуту)
Свое мини-приложение (PWA) под личный поддомен вида u123-abc.myapps.com (на старте можно myapps.com/deploy/slug).
Реально полезные классы (от простых до «средне-сложных», но без бэка):
To-Do / Task manager с разделами и приоритетами
Habit/Expense tracker с локальной статистикой (графики)
Калькуляторы по своим формулам (FOPO/любые выражения)
Mini-CRM (контакты+заметки)
Personal dashboard (виджеты: заметки, таймер, погода)
Уникализация «под себя»: собственные поля, собственные формулы, свои фильтры/логика — не «шаблон», а свой инструмент.
Офлайн-доступ (PWA + IndexedDB), экспорт/импорт JSON, история версий и быстрые правки через чат.
Как это работает (flow)
Пользователь видит рекламу → заходит в Telegram-бот → /start.
Пишет задачу: «Сделай калькулятор по моей формуле X со страницей результатов».
Бот → AI (GPT-5) генерит набор файлов (HTML/JS/CSS + manifest.json + service-worker.js) строго по схеме (Structured Outputs) и, при правках, точечными патчами (function/tool-calling). platform.openai.com+1
Билдер сохраняет файлы, деплоит статик → отдаёт ссылку.
Пользователь открывает и устанавливает как приложение (PWA).
Любая новая реплика «Добавь виджет/логотип/формулу/таймер» → перегенерация и деплой новой версии.
По желанию открывает Mini WebApp (встроенную панель) из бота — для списков проектов и «быстрых» правок. Telegram WebApp шлёт данные обратно боту через встроенные механики (initData/sendData). core.telegram.org
Архитектура (минимум для живого MVP)
Интерфейсы
Telegram Bot — главный UI (диалоги, создание/правки, список проектов). Доставка апдейтов: либо long polling, либо webhooks (любой из официально поддержанных способов). core.telegram.org+1
Telegram Mini WebApp — лёгкая панель управления (список проектов, переименовать, «перегенерировать», предпросмотр). Авторизация через initData. core.telegram.org
PWA проектов — статические приложения, хостятся и отдаются CDN.
Сервер (Node.js + TS)
API-шлюз: REST эндпойнты /projects, /generate, /edit, /versions, /deploy.
Сервис кодогенерации (AI): вызывает OpenAI Responses API с Structured Outputs и function/tool-calling(строгие JSON-схемы планов и патчей). Reutersplatform.openai.com+1
Билд-раннер: собирает/валидирует статик (Vite/React или чистый HTML/JS), пакует артефакт.
Деплой-сервис: кладёт артефакт в сторадж и отдаёт URL; позже — автоматом поднимает CNAME поддомен через Cloudflare-API.
Хранилища:
мета (users/projects/versions/logs) — SQLite → Postgres при росте,
файлы/артефакты — локально → R2/S3 при росте,
кэш/очереди — Redis/BullMQ (асинхронные билды).
Статик-сервер: Express для /deploy/<slug> → позже переносим на Cloudflare Pages/R2 (CDN).
Домен и DNS
Данные и схемы (упрощённо)
users: id, tg_id, username, plan, created_at
projects: id, user_id, slug, title, last_url, created_at, updated_at
versions: id, project_id, number, summary, created_at
files: id, project_id, path, storage_key, sha256, created_at
builds: id, project_id, version_id, status, logs_url, artifact_key, created_at
events (аудит/метрики): user_id, project_id, type, meta, ts
conversations: связь реплик с версиями (прозрачный трейс правок)
API (минимальный контур)
POST /projects → создать проект
GET /projects → список проектов юзера
POST /projects/:id/generate → первичное создание по промпту
POST /projects/:id/edit → вторичные правки (точечные патчи)
GET /projects/:id/versions → список версий
POST /projects/:id/rollback → откат
POST /projects/:id/build → вручную собрать
POST /projects/:id/deploy → задеплоить и получить URL
AI-слой (надёжная генерация и правки)
Structured Outputs: заставляем модель строго вернуть PLAN по JSON-схеме: какие файлы создать/править/удалить, и почему. platform.openai.comopenai.com
Function / Tool calling: инструменты read_file, apply_patch(unified diff с base_sha), create_file, delete_file, pwa_scaffold, run_build, deploy_static. Модель сначала планирует, потом вызывает инструменты, потом проверяет сборку и только затем отвечает пользователю. platform.openai.com
Релевантный контекст: вместо «всего проекта» даём деревце + нужные куски (быстро и дёшево).
Патчи вместо перегенерации: вторичные запросы — микро-diff в нужный файл (слишком большие изменения запрещаем политикой).
Формулы/правила: для FOPO и прочего — в код добавляем мини-движок выражений (ограниченный, без eval), чтобы клиент мог менять формулы в одном месте (JSON или tokens.ts).
Ограничения безопасности: операции только в /workspace/{projectId}, размер файлов/патчей лимитируем, base_sha — обязательный, откаты и журнал.
PWA и данные
Архив проекта:
telegram-codegen-mvp-updated/
│── package.json # зависимости, скрипты (start, dev, build, serve, cf:dns:create и т.д.)
│── tsconfig.json # конфиг TypeScript
│── .env.example # пример переменных окружения (TELEGRAM_BOT_TOKEN, OPENAI_API_KEY, PUBLIC_BASE_URL и др.)
│── README.md # инструкция по запуску и описанию проекта
│
├── src/ # исходники TypeScript
│ ├── bot.ts # Telegram-бот (Telegraf): создание проектов, правки, выдача ссылок
│ ├── server.ts # Express REST API + раздача статики (deploy + webapp)
│ ├── db.ts # SQLite: users, projects, versions, conversations
│ ├── config.ts # загрузка .env и глобальных переменных
│ ├── openai.ts # интеграция с OpenAI Responses API (Structured Outputs → файлы)
│ ├── schemas.ts # JSON-схемы (PLAN/PATCH для AI)
│ ├── tools.ts # инструменты: read/create/patch/delete, run_build, deploy_static, pwa_scaffold
│ └── deploy.ts # вспомогательный деплой файлов (slug, url)
│
├── webapp/ # Mini WebApp (панель управления)
│ └── index.html # простая панель: ввод TG ID → список проектов (названия + ссылки)
│
├── scripts/ # вспомогательные утилиты
│ ├── cf-dns-create.mjs # создание поддоменов через Cloudflare API
│ └── serve-webapp.mjs # заглушка-скрипт для запуска webapp
│
├── cloudflare/
│ └── README.md # пояснение по работе с Cloudflare DNS
│
└── data/ # рабочая папка (создаётся в рантайме)
├── app.db # SQLite база
├── workspace/ # рабочая директория проектов (исходники файлов)
├── artifacts/ # собранные билды (копии workspace)
└── deployments/ # задеплоенные версии (отдаёт Express или CDN)
⚡ Логика:
Бот (src/bot.ts) — точка входа для пользователя, создаёт проект, принимает запросы, вызывает OpenAI, деплоит и выдаёт ссылку.
OpenAI (src/openai.ts) — получает от модели PLAN (JSON) и применяет его через tools.ts.
Tools (src/tools.ts) — набор разрешённых операций (создать файл, пропатчить, собрать билд, задеплоить).
Server (src/server.ts) — REST API для интеграций + раздаёт /deploy/* и /webapp/.
Mini WebApp (webapp/index.html) — быстрый UI в Telegram (список проектов и открытие ссылок).
Cloudflare скрипт — позволяет дать каждому проекту свой поддомен вида u123-abc123.myapps.com.