Эта курсовая потребует знания Flask, SQLAlchemy, Marshmallow (или любого другого валидатора на ваш выбор), REST, CRUD, JWT и, конечно же, знаний и умений правильного создания структуры проекта.
В данной работе вы можете использовать либо свой написанный бек, либо использовать исходники, которые предоставлены здесь.
Аутентификация:
Для того чтобы у каждого пользователя была возможность добавлять понравившиеся фильмы в закладки для просмотра позже, нам нужно их как-то разграничивать, поэтому мы организуем страницы с регистрацией и аутентификацией на основе уже изученной спецификации JWT.
Пользователи:
У каждого пользователя будет страница с его профилем, где он сможет выбрать любимый жанр, указать имя и фамилию, а также в случае необходимости сменить пароль.
Еще для пользователя нужно реализовать механизм добавления и удаления фильмов в/из закладок, а также просмотр всех сохраненных в закладки фильмов.
Фильмы, режиссеры, жанры:
Конечно же, нужно добавить самые главные сущности — фильмы, режиссеры и жанры. Для них сделаем лишь возможность чтения (get-запросы). Для всех объектов будет работать пагинация, чтобы мы могли постранично выводить их на экран, а также можно будет посмотреть самые новые фильмы.
Python, Flask, SQLite3, SQLAlchemy, REST, JWT
- Установка зависимостей
pip install -r requirements.txt
pip install -r requirements.dev.txt
- Создание моделей (очистит БД и создаст все модели, указанные в импорте)
python create_tables.py
- Загрузка данных в базу
python load_fixture.py
Скрпит читает файл fixtures.json и загружает данные в базу. Если данные уже загружены - выводит соответсвующее сообщение.
export FLASK_APP=run.py
export FLASK_ENV='development'
flask run
set FLASK_APP=run.py
set FLASK_ENV=development
flask run
$env:FLASK_APP = "run"
$env:FLASK_ENV = "development"
flask run
pytest .