Черновик на русском для правок автора.Акцент:
yedi ai
← Все уроки
Уровень 4 · урок 5 из 16

Приложение с базой и входом: учёт клиентов и заказов

Урок5 минпродвинутыйподпискаClaude
5/16

Нужный тариф: ChatGPT: аналог: Codex (по справке OpenAI есть на всех планах, включая Free и Go); в уроке не разбираем · Claude: Pro и выше (на Free Claude Code нет) · Дата проверки: по документации 27.10.2026; в продукте не проверено

Для кого:Хочу свой продукт

На выходе

Приложение учёта клиентов и заказов на тестовых данных с входом по паролю, разными правами для двух пользователей и проверенным восстановлением базы из бэкапа.

Задача

Хасан делает мебель на заказ в Бурсе. Клиенты, замеры, предоплаты и сроки разбросаны по тетради, Excel и WhatsApp. Дважды он забыл про заказ, один раз потерял номер клиента. Ему нужно простое приложение: клиенты, заказы со статусами («замер», «в работе», «готов», «выдан»), суммы и предоплаты. Пользоваться будут он и мастер, у каждого свой пароль.

Сначала честный вопрос. Если всё помещается в одну таблицу и работает с ней один человек, хватит Google Таблиц или Excel. Своё приложение нужно, когда требуются разные права, статусы и защита от случайного удаления. И когда ты готов его обслуживать: обновлять и делать бэкапы (урок 4.5).

Словарик.

  • База данных: как листы Excel, связанные между собой: «Клиенты», «Заказы», и у каждого заказа указан клиент. Для старта подходит SQLite: вся база лежит в одном файле.
  • Авторизация: приложение проверяет, кто ты (логин и пароль) и что тебе можно (роль: владелец видит деньги, мастер только свои заказы).
  • Хеш пароля: пароль хранится в виде, из которого его нельзя восстановить. Открытым текстом пароли не хранят никогда.
  • Бэкап: копия базы в другом месте. Без неё одна поломка уничтожит весь учёт.

Шаги

  1. Опиши данные словами. Выпиши, какие у тебя есть «вещи» (клиент, заказ, платёж) и что ты про них знаешь. Лишнего не собирай: каждое лишнее поле с личными данными добавляет риск по KVKK (статья 4: данные соразмерны цели).

  2. Включи Plan и дай задачу по шаблону. Попроси показать структуру базы таблицей и список страниц. Правь, пока план не станет понятен.

  3. Вход делай только проверенными средствами. Это самое опасное место. В шаблоне есть правила: готовая библиотека для входа, хеш паролей, закрытая регистрация, секретный ключ в .env, ограничение попыток входа.

  4. Тестовые данные. Пусть Claude заполнит базу придуманными клиентами. Настоящие данные загружай только после проверки и переезда на защищённый сервер.

  5. Запусти у себя. «Запусти приложение и скажи, какой адрес открыть». Обычно это http://localhost:…: он работает только на твоём компьютере.

  6. Проверь как «вредный» пользователь.

    • Открой страницу заказов без входа. Должно перекинуть на вход.
    • Под мастером открой страницу с деньгами. Должен быть отказ.
    • Пять раз введи неверный пароль. Должна сработать блокировка.
    • Введи в имя <b>тест</b>. На странице должен быть текст, а не жирное слово.
  7. Проверка безопасности. «Проверь проект: вход, права, хранение паролей, защита форм, SQL-инъекции, где лежат секреты. Объясни находки просто и исправляй по одной, с коммитом после каждой». Полный промпт в уроке 4.6. Если у проекта есть удалённый репозиторий origin (например, на GitHub), есть команда /security-review: она сравнивает текущую ветку с основной веткой origin и ищет уязвимости в изменениях.

  8. Бэкап сразу. Попроси скрипт, который копирует файл базы с датой в имени, и инструкцию восстановления. Один раз восстановись на пробу.

  9. Правила в CLAUDE.md. «Запиши правила: пароли только хешем, секреты только в .env, без подтверждения ничего не удалять». Claude будет их помнить в следующих сессиях.

Шаблон

Я [имя], [бизнес, город]. Не программист, объясняй просто.
Задача: веб-приложение для учёта [клиентов и заказов].
Данные:
- [Клиент]: [поля];
- [Заказ]: [поля], статусы: [список];
- [Платёж]: [поля].
Права: владелец может всё; [мастер] видит только [свои заказы], без сумм.
Безопасность:
- SQLite в одном файле, файл базы не в git;
- вход через проверенную библиотеку, пароли хешем (bcrypt или argon2);
- регистрации нет, пользователей создаёт владелец;
- секреты в .env, .env в .gitignore, .env не читай;
- лимит попыток входа, защита от CSRF, запросы к базе только с параметрами;
- только тестовые данные.
Интерфейс на турецком, удобно с телефона, поиск по имени и телефону.
Скрипт бэкапа базы с датой + инструкция восстановления.
Сначала вопросы, потом структура базы таблицей и план страниц. Жди «ок».
Шагами; после каждого шага: как проверить и git-коммит.
Твоя практика

Сначала честно ответь, не хватит ли тебе таблицы. Если нет, выпиши 2-3 свои «вещи» (например, клиент и заказ) с полями, заполни шаблон и собери приложение на тестовых данных. Затем пройди все четыре проверки «вредного» пользователя из шага 6 и один раз восстанови базу из бэкапа.

✓ Как понять, что получилось

Без входа страница заказов недоступна, второй пользователь не видит то, что ему закрыто, а после пяти неверных паролей срабатывает блокировка. В базе только придуманные клиенты, а восстановленная из бэкапа копия открывается с теми же записями.

Что у тебя теперь есть
  • Честный вопрос до старта: не хватит ли тебе таблицы
  • Шаблон задачи с блоком безопасности: хеш паролей, закрытая регистрация, секреты в .env
  • Четыре проверки «вредного» пользователя
  • Правило: бэкап базы сразу и одно пробное восстановление
Действие после урока

Сегодня честно ответь, хватит ли тебе таблицы. Если нет, выпиши 2-3 свои «вещи» (например, клиент и заказ) с полями, заполни шаблон и сохрани его в заметку «Мои запросы».

Источники

Дальше · Claude 4.5

Свой сервер и домен: VPS, деплой, обновления, бэкапы

Завершить и дальше