ОТ ПРИМЕРА К СВОЕМУ ПРОДУКТУПять проектов.
Один понятный старт.
Скачайте отдельный проект, запустите его и измените под свою задачу. В каждом архиве: модуль ядра, сборка решения, HTML-шаблон, ассеты, SQLite и тесты. Python 3.12+, без Docker и Node.js.
01 / COMMERCEИнтернет-магазин
Каталог товаров, количество, контакты покупателя и сохранение заказа. Остатки уменьшаются в транзакции, цену считает сервер.
Первое упражнение: добавьте свой товар и оформите заказ. Корзина и банковская оплата пока не подключены.
Скачать магазин ↓02 / MEDIAМедиаблог
Лента статей, фильтрация по рубрикам и ссылки на публикации. Контент хранится в SQLite.
Первое упражнение: измените статью и добавьте рубрику. Редакторского кабинета пока нет.
Скачать медиаблог ↓03 / DOCTORСайт врача
Личный сайт с записью к одному специалисту. Доступные слоты на ближайшие семь дней, имя и контакт посетителя.
Первое упражнение: измените имя врача и часы приёма.
Скачать сайт врача ↓04 / CLINICСайт клиники
Три специалиста с независимым расписанием. Одно время можно занять у разных врачей, но нельзя дважды у одного.
Первое упражнение: добавьте специалиста в project.json.
Скачать сайт клиники ↓05 / DENTISTRYСтоматология
Запись на первичный приём к одному из двух стоматологов. После подтверждения время исчезает из свободных слотов.
Первое упражнение: настройте состав врачей и оформление сайта.
Скачать стоматологию ↓ЗАПУСКОт архива до работающего сайта
Распакуйте ZIP, откройте терминал в папке проекта и выполните:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
python app.py
Откройте http://127.0.0.1:8088. Другой порт: python app.py --port 8090. Для Windows: py -3 -m venv .venv, затем .venv\Scripts\python.exe -m pip install -r requirements.txt и .venv\Scripts\python.exe app.py.
Пакет yeti3-core скачивается из индекса engine.yeti3.ru, указанного в requirements.txt. Повторная установка при следующем запуске не нужна.
Где менять проект
project.json — название, описание и специалисты.modules/business.py — бизнес-правила и база.solution.py — регистрация модуля в Engine и получение capability.templates/index.html — структура страницы.asset_pack/static/style.css — оформление.app.py — обработка HTTP и форм.
Как проверить живую запись
- Откройте медицинский пример в двух вкладках.
- Выберите одного врача и одно время в обеих.
- Подтвердите запись в первой вкладке.
- Во второй получите сообщение, что время занято.
- Перезапустите приложение: запись остаётся в базе.
Расписание обновляется каждые 15 секунд, пока посетитель не начал вводить контакты. Слоты используют время сервера, длительность приёма — час. Подтверждение сохраняется сразу в SQLite; SMS и email не отправляются.
python -m unittest discover -s tests -v
Что нужно для публичного запуска
Это локальные учебные проекты с настоящим сохранением данных. Используйте вымышленные контакты. Перед публикацией добавьте HTTPS, авторизацию, роли администратора, управление расписанием и отменой, согласия на обработку данных, уведомления, резервное копирование и ограничение запросов. Медицинские сведения примеры не собирают.