Чек-лист «прежде чем продать клиенту»
Тема 5/5: День 5. Главные ошибки новичков и следующий шаг → Урок 8/9
Сделать и сдать клиенту — разные задачи. Перед сдачей проект нужно проверить по нескольким направлениям: безопасность, функциональность, адаптивность, производительность, мониторинг, база данных, юридическая сторона и документация. В этом уроке — финальный чек-лист курса, по которому стоит пройтись перед каждым проектом.
Безопасность
Перед сдачей убедитесь, что все секреты — API-ключи, токены, пароли базы данных — лежат в .env, а не в коде, что сами файлы .env и .env.local добавлены в .gitignore, и что в истории git нет коммитов с секретами; а если секрет всё-таки засветился, ключи нужно пересоздать. Проверьте, что HTTPS подключён (Vercel и Timeweb делают это автоматически, но это стоит подтвердить) и что каждый запрос к базе данных фильтруется по идентификатору пользователя, чтобы человек видел только свои данные. Все webhook должны проверять подпись (Token у T-Банка, secret_token у Telegram, secret у VK), в API-маршрутах должна быть проверка авторизации, на критичных точках вроде генерации и оплаты — ограничение частоты запросов, а CORS настроен корректно, без «*» в боевом режиме.
Функциональность
Дальше убедитесь, что все главные сценарии работают именно в боевом режиме, а не только локально. Проверьте регистрацию и вход, восстановление доступа через magic-link или email, главную функцию сервиса — генерацию, запись или поиск. Прогоните тестовый платёж и убедитесь, что webhook оплаты обновляет статус пользователя в базе. Отдельно проверьте, что лимиты бесплатного тарифа действительно работают и их нельзя превысить, что кнопки «Отписаться» и «Удалить аккаунт» работают (этого требует 152-ФЗ) и что на каждом экране есть навигация или кнопка «Назад».
Адаптив и UX
Сайт должен корректно открываться на мобильном — это удобно проверять в мобильном режиме Chrome DevTools. Кнопки должны легко попадаться пальцем (минимум 44×44 пикселя), тексты — читаться без увеличения, формы — заполняться на телефоне с автозаполнением и правильными типами полей (email, tel), а блоки и скроллбары не должны вылезать за пределы экрана. Сюда же относится производительность интерфейса: разумный показатель Lighthouse по разделу Performance, оптимизированные через next/image картинки и шрифты, которые подгружаются без вспышки нестилизованного текста.
Производительность
По производительности проверьте, что главная страница грузится быстро даже на мобильной сети и не делает лишних запросов, что крупные изображения сжаты (через Squoosh или next/image), что в базе данных есть индексы на часто запрашиваемых полях вроде идентификатора пользователя и даты создания, и что запросы к базе не выполняются в цикле — это классическая проблема N+1, которая незаметна на малых данных и убивает скорость на больших.
Логирование и мониторинг
К боевому запуску должна быть подключена система отслеживания ошибок — Sentry, PostHog или аналог, — а уведомления о критичных ошибках должны приходить вам в Telegram или на email. Проследите, чтобы в логах не светились секреты, чтобы логи были структурированными, а не простым текстом, и чтобы время в них фиксировалось в UTC или явно в МСК, а не как абстрактное «время сервера».
База данных
По базе данных убедитесь, что настроены ежедневные резервные копии (управляемый Postgres у Neon в тесте и у Timeweb делает это автоматически, а Postgres на собственном сервере настраивается через pg_dump и cron) и что вы хотя бы раз проверили восстановление из такой копии. В таблицах должны быть поля created_at и updated_at, внешние ключи — настроены с осмысленным поведением при удалении, миграции — храниться в git, и все они должны быть применены на боевой версии.
Юридическая часть
Юридическая сторона особенно важна, если вы принимаете оплаты. На сайте нужны договор оферты (обязателен для подписок и продаж), политика конфиденциальности по 152-ФЗ и согласие на обработку персональных данных отдельным чекбоксом при регистрации. Должны быть прописаны условия возврата (по закону о защите прав потребителей — по умолчанию 14 дней), оформлено ИП или ООО с подходящими ОКВЭД, подключена касса по 54-ФЗ (T-Банк делает это автоматически), а реклама, если вы её планируете, должна маркироваться через ОРД.
Документация
Из документации в корне проекта должны быть README.md с описанием и инструкцией по запуску, актуальный CLAUDE.md с набором технологий, конвенциями и командами, файл .env.example со всеми переменными окружения без значений и описание того, как развернуть проект с нуля. Если у проекта есть собственный API, его стоит описать отдельно — в docs/api.md или в формате OpenAPI.
Сдача клиенту на фрилансе
Если вы сдаёте проект клиенту, к стандартным проверкам добавляется передача. Клиент должен получить доступ ко всем аккаунтам — хостингу, провайдеру базы данных, T-Банку, — причём аккаунты и домен переоформляются на него, а не остаются на вас. Передайте CLAUDE.md и инструкции по самостоятельной доработке, запишите короткий скринкаст-обзор того, как работает админка и личный кабинет, подпишите акт выполненных работ, получите финальную оплату и заранее обсудите формат и стоимость дальнейшей поддержки.
Запуск своего продукта
Если же вы запускаете собственный сервис, проверьте, что подключена аналитика (Яндекс.Метрика, PostHog или GA), что письма-подтверждения уходят после регистрации и после оплаты, и что цены на сайте совпадают с тем, что записано в базе. Настройте реферальную программу и промокоды, если они планируются, обеспечьте поддержку с публичным контактом — почтой или Telegram-ботом, — соберите FAQ на самые частые вопросы и анонсируйте запуск в своих каналах.
Что делать, если по критичному пункту «нет»
Не все пункты равнозначны. Провалы по безопасности — секреты в git, доступ к чужим данным, неподписанные webhook — означают, что сдавать проект нельзя, это нужно исправлять сразу, иначе быстро обернётся потерей данных или денег. Незакрытая юридическая часть — нет оферты, не оформлено ИП — повод не принимать оплаты до исправления. Если не работает главный сценарий, сдавать клиенту тоже нельзя: это выглядит как обман. Проблемы с адаптивом и UX критичны прежде всего тогда, когда основная аудитория сидит с мобильных, — в остальных случаях их можно довести в первую неделю после запуска. А недописанную документацию допустимо закрыть позже.
Финальный совет
Этот чек-лист — про инженерную дисциплину. Без него вайбкодинг превращается в «быстро собрал что-то, и оно ломается»; с ним вы стабильно выпускаете качественный продукт. Поначалу проход по чек-листу занимает заметное время, но с опытом он становится почти автоматическим — и окупается тем, что клиенты не возвращаются с жалобами, а пользователи не сжигают ваши деньги через дыры в безопасности.
Что дальше — после курса
На этом пятидневный курс пройден. К этому моменту у вас есть понимание вайбкодинга и его возможностей, собранный ИИ-сайт с подпиской и бот сразу в нескольких мессенджерах, карта сценариев заработка с выбранным первым направлением и защита от типовых ошибок новичков. Дальше задача одна — перейти от «учусь» к «делаю»: выбрать свой сценарий, начать проект и довести его до запуска.
Если нужна углублённая программа — платный курс «Свой ИИ-сервис на Claude Code» разворачивает каждую тему курса в детальную программу с кодом, инфраструктурой и сообществом.