Проект 3. CRUD-приложение с SQLite и MVC

Цель работы

  • Реализовать CRUD (Create, Read, Update, Delete) для сущностей бизнес-логики приложения.
  • Освоить работу с SQLite в памяти (:memory:) через модуль sqlite3.
  • Понять принципы первичных и внешних ключей и их роль в связях между таблицами.
  • Выделить контроллеры для работы с БД и для рендеринга страниц в отдельные модули.
  • Использовать архитектуру MVC и соблюдать разделение ответственности.
  • Отображать пользователям таблицу с валютами, на которые они подписаны.
  • Реализовать полноценный роутер, который обрабатывает GET-запросы, выполняет сохранение/обновление данных и рендеринг страниц.
  • Научиться тестировать функционал на примере сущностей currency и user с использованием unittest.mock.

Основные задачи

CRUD для Currency

  • Create — добавление новых валют в базу данных.
  • Read — вывод валют из базы данных.
  • Update — обновление значения курса валюты.
  • Delete — удаление валюты по id.
  • Все действия выполняются с использованием параметризованных запросов для защиты от SQL-инъекций.

Работа с SQLite

  • Использовать базу в памяти: sqlite3.connect(':memory:').
  • Объяснить назначение PRIMARY KEY и FOREIGN KEY и их роль в связях таблиц.

Выводы

Разработано приложение с сущностями пользователь и валюта. Реализованы CRUD-операции, связи между таблицами через первичные и внешние ключи, маршрутизация запросов и рендеринг HTML-страниц. Приложение построено по архитектуре MVC с разделением моделей, контроллеров и представлений.

← К проектам