Проект 1. Task Tracker (TODO-приложение)
Цель
Разработать групповое веб-приложение таск-трекер для управления задачами с поддержкой регистрации/авторизации пользователей, ролей (включая суперпользователя/админа) и полным набором CRUD-операций для сущностей Пользователь и Задача. Закрепить применение архитектуры MVC, шаблонного фронтэнда (Jinja2/аналог) и работы с SQLite через ORM с использованием миграций, а также организовать командную разработку по выбранной методологии ветвления (GitHub Flow / Git Flow / GitLab Flow).
Задание
- Организация командной работы
- Сформировать группу (1–3 человека), указать название и участников.
- Создать Git-репозиторий, добавить участников и (при приватности) преподавателя nzhukov.
- Опубликовать ссылку на репозиторий в форуме (представитель группы).
-
Выбрать и соблюдать методологию ветвления: GitHub Flow / Git Flow / GitLab Flow.
-
Модели предметной области
- Пользователь: имя, почта, пароль.
-
Задача: название, описание, приоритет, дата выполнения, статус (открытая / в процессе / закрытая).
-
Функциональность
- Регистрация и авторизация пользователей.
- Создание задач, просмотр своих задач, редактирование, отметка выполнения (смена статуса), удаление.
- Полный CRUD для сущностей пользователь и задача.
- На главной странице вывести зарегистрированных пользователей и их задачи.
-
Предусмотреть суперпользователя (админа) для CRUD со всеми сущностями.
-
Техническая часть
- Выбрать фреймворк (Flask/Django/FastAPI) и реализовать frontend + backend.
- Применить архитектуру MVC.
- Фронтэнд: шаблоны Jinja2 (или другой шаблонизатор), HTML или Bootstrap 5.
- База данных: SQLite (файл или в памяти).
- Использовать ORM и миграции (например, Flask-SQLAlchemy / Django ORM / Alembic).
Выводы
В рамках проекта разработано приложение для управления задачами с поддержкой пользователей, авторизации и ролей. Реализован полный CRUD для пользователей и задач, статусы задач, приоритеты и сроки выполнения. Проект выполнен с использованием архитектуры MVC, шаблонов HTML (Jinja2) и базы данных SQLite с ORM и миграциями.
- Технологии: Python, Flask / Django / FastAPI, SQLite, ORM, HTML, MVC, Git.
- Ссылка: GitHub репозиторий