Проект 1. Task Tracker (TODO-приложение)

Цель

Разработать групповое веб-приложение таск-трекер для управления задачами с поддержкой регистрации/авторизации пользователей, ролей (включая суперпользователя/админа) и полным набором CRUD-операций для сущностей Пользователь и Задача. Закрепить применение архитектуры MVC, шаблонного фронтэнда (Jinja2/аналог) и работы с SQLite через ORM с использованием миграций, а также организовать командную разработку по выбранной методологии ветвления (GitHub Flow / Git Flow / GitLab Flow).

Задание

  1. Организация командной работы
  2. Сформировать группу (1–3 человека), указать название и участников.
  3. Создать Git-репозиторий, добавить участников и (при приватности) преподавателя nzhukov.
  4. Опубликовать ссылку на репозиторий в форуме (представитель группы).
  5. Выбрать и соблюдать методологию ветвления: GitHub Flow / Git Flow / GitLab Flow.

  6. Модели предметной области

  7. Пользователь: имя, почта, пароль.
  8. Задача: название, описание, приоритет, дата выполнения, статус (открытая / в процессе / закрытая).

  9. Функциональность

  10. Регистрация и авторизация пользователей.
  11. Создание задач, просмотр своих задач, редактирование, отметка выполнения (смена статуса), удаление.
  12. Полный CRUD для сущностей пользователь и задача.
  13. На главной странице вывести зарегистрированных пользователей и их задачи.
  14. Предусмотреть суперпользователя (админа) для CRUD со всеми сущностями.

  15. Техническая часть

  16. Выбрать фреймворк (Flask/Django/FastAPI) и реализовать frontend + backend.
  17. Применить архитектуру MVC.
  18. Фронтэнд: шаблоны Jinja2 (или другой шаблонизатор), HTML или Bootstrap 5.
  19. База данных: SQLite (файл или в памяти).
  20. Использовать ORM и миграции (например, Flask-SQLAlchemy / Django ORM / Alembic).

Выводы

В рамках проекта разработано приложение для управления задачами с поддержкой пользователей, авторизации и ролей. Реализован полный CRUD для пользователей и задач, статусы задач, приоритеты и сроки выполнения. Проект выполнен с использованием архитектуры MVC, шаблонов HTML (Jinja2) и базы данных SQLite с ORM и миграциями.

← К проектам