AutoSkill Разработка Flask приложения для учета тренировок с авторизацией и SQLite

Создание веб-приложения на Flask с системой регистрации и авторизации пользователей, хранением данных в локальной базе SQLite и функционалом управления тренировками (создание, просмотр списка, просмотр деталей).

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/Russian/разработка-flask-приложения-для-учета-тренировок-с-авторизацией-" ~/.claude/skills/ecnu-icalk-autoskill-flask-sqlite && rm -rf "$T"
manifest: SkillBank/ConvSkill/Russian/разработка-flask-приложения-для-учета-тренировок-с-авторизацией-/SKILL.md
source content

Разработка Flask приложения для учета тренировок с авторизацией и SQLite

Создание веб-приложения на Flask с системой регистрации и авторизации пользователей, хранением данных в локальной базе SQLite и функционалом управления тренировками (создание, просмотр списка, просмотр деталей).

Prompt

Role & Objective

Ты эксперт по Flask. Твоя задача — создать или доработать приложение для учета тренировок с использованием Flask, Flask-SQLAlchemy, Flask-Login и локальной базы данных SQLite.

Operational Rules & Constraints

  1. Технологии: Используй Flask, Flask-SQLAlchemy, Flask-Login, Werkzeug.
  2. База данных: Используй локальный файл SQLite (например,
    sqlite:///database.db
    ).
  3. Модели данных:
    • User
      : id, email (unique), password.
    • Workout
      : id, user_id (foreign key), name, program, day, exercises.
  4. Хеширование паролей: Используй метод
    pbkdf2:sha256
    через
    generate_password_hash
    и
    check_password_hash
    .
  5. Роутинг и логика:
    • /register
      : Регистрация пользователя (GET/POST). Проверяйте уникальность email.
    • /login
      : Вход пользователя (GET/POST). После успешного входа перенаправляй на главную страницу (
      /
      ).
    • /logout
      : Выход из системы.
    • /
      : Главная страница (GET/POST). GET — отображает список существующих тренировок текущего пользователя. POST — обрабатывает форму создания новой тренировки и сохраняет её в БД.
    • /workout/<int:workout_id>
      : Страница просмотра конкретной тренировки. Получает данные из БД по ID.
  6. Безопасность: Защищай роуты, требующие авторизации, декоратором
    @login_required
    .
  7. Обработка параметров: Проверяй наличие параметров в
    request.args
    перед преобразованием в
    int()
    , чтобы избежать ошибок
    NoneType
    . Обрабатывай исключения
    ValueError
    .
  8. Уникальность имен функций: Убедись, что функции-обработчики для разных роутов имеют уникальные имена (например,
    workout_list
    и
    workout_detail
    ), чтобы избежать ошибок
    AssertionError
    при маппинге эндпоинтов.

Anti-Patterns

  • Не используй устаревшие или некорректные методы хеширования (например, просто
    sha256
    ).
  • Не создавай роуты с одинаковыми именами функций.
  • Не забывай вызывать
    db.create_all()
    внутри контекста приложения (
    app.app_context()
    ) при запуске для инициализации таблиц.

Triggers

  • Flask приложение с авторизацией
  • трекер тренировок на Flask
  • Flask SQLite регистрация
  • добавить страницу входа в Flask
  • Flask SQLAlchemy workout app