Описание работы над проектом — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(стр)
 
(ааа)
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1: Строка 1:
 
= Проект 2025/2026 =
 
= Проект 2025/2026 =
 +
 +
<span style="color:red">За советами и помощью всегда идите к автору проекта!!!</span>
 +
  
 
== Зачем? ==
 
== Зачем? ==
Строка 65: Строка 68:
 
# По минимуму писать функций и по максимуму использовать ООП.
 
# По минимуму писать функций и по максимуму использовать ООП.
 
# Использовать паттерны, которые проходили.
 
# Использовать паттерны, которые проходили.
 +
# Ваше приложение должно жить в докере (dockerhub)
 +
# По возможности приложение должно быть развернуто в облачной среде. Если потребуется виртуалка, пишите https://t.me/turbomuza
 +
 +
'''Отдельное требование к ботам:'''
 +
# Бот должен быть написан на aiogram
 +
# Бот должен быть покрыт тестами
 +
# Секреты бота должны быть скрыты от внешнего мира и подружены с .gitignore => внешний мир чтобы их никогда не увидел
 +
 +
'''Отдельное требование по БД:'''
 +
# Секреты (логин и пароль) к БД должны быть спрятаны
 +
# Схемы должны быть отрисованы в документации (на момент защиты должна быть в документации актуальная схема БД)
 +
# Должно быть ассинхронное подключение
 +
# Никаких сырых запросов, используем slqalchemy
 +
 +
'''Отдельное требование к МЛ:'''
 +
# Обучающие данные должны быть закомичены
 +
# Pypeline обучения (ваши джупитеры) должны быть закомичены
 +
# Моделька должна быть куда-то выложена
 +
  
 
'''Вес этапа: 50%.'''   
 
'''Вес этапа: 50%.'''   
'''Дедлайн: 18.12.2025, 23:59'''
+
'''Дедлайн: 20.12.2025, 23:59'''
  
 +
<span style="color:red">К итогу дедлайна должен быть сделан последний коммит, а если потребуются последующие, то только минимальные по исправлению багов и мелких доработок, не повлекшие к существенному изменению архитектуры проекта.</span>
 
----
 
----
  
Строка 87: Строка 110:
 
Вы приходите в назначенный пулл, рассказываете всё, что сделали,   
 
Вы приходите в назначенный пулл, рассказываете всё, что сделали,   
 
отвечаете на вопросы преподавателя или ассистента.
 
отвечаете на вопросы преподавателя или ассистента.
 +
 +
<span style="color:green">Работоспособность вашего кода влияет на оценку в коэффициент с кодом</span>
 +
 +
<span style="color:blue">Продуктовая составляющая влияет на оценку в коэффициент с защитой </span>
 +
  
 
После этого получаете оценку и идёте отдыхать. :)
 
После этого получаете оценку и идёте отдыхать. :)
 +
 +
=== Итог ===
 +
 +
  O<sub>итог</sub> = 0,2 * Дока + 0,5 * код + 0,3 * Защита

Текущая версия на 12:08, 16 ноября 2025

Проект 2025/2026

За советами и помощью всегда идите к автору проекта!!!


Зачем?

Чтобы научить вас делать минимально-максимальные проекты и быстро погрузиться в предметную область.

Этапы

Этап 1

Вам необходимо вписаться в проект в табличку. Там есть столбцы TL и Dev_n.

  • TL — лид команды. Выбирается внутри команды (или может быть назначен лектором).
  • Dev1, Dev2, Dev3, Dev4 — участники-разработчики.

Обязанности TL:

  • может меньше писать код и больше заниматься проектированием и ревью;
  • отвечает за выполнение задач командой;
  • может писать столько же кода, сколько остальные, обязанности могут быть формальными.

Этап 2

Необходимо проработать идею и перенести её в документацию.

Лид команды создаёт в своём репозитории на GitLab (где он делает ДЗ) папку: final_project и выкладывает туда Markdown-файл со схемами и описанием проекта.

Хороший пример — UML, диаграммы Mermaid. Можно использовать сервис: https://mermaid-drawing.com/

К 25 ноября 2025 года 23:59 необходимо:

  1. Закоммитить документацию, включающую:
    1. графики и схемы взаимодействия вашей системы;
    2. описание проекта:
      1. что будет видеть пользователь;
      2. какие задачи необходимо выполнить;
      3. сколько времени потребуется на каждую задачу;
      4. кто что делает в команде.
  2. Скинуть репозиторий на GitHub, где будет вестись разработка.

Ссылки на GitLab с документацией и задачами размещаются в той же таблице, куда вы вписывались.

Вес этапа: 20%. Если его не сдать — преподаватели не смогут провалидировать идею и оценка на защите может сильно пострадать.


Этап 3

(Мог начаться параллельно со 2 этапом.) Это реализация проекта.

У вас был хороший пример структуры в ДЗ-1 и ДЗ-2 — примерно такую же ожидаем здесь.

Полезные best practices: https://github.com/topics/python-template

Требования:

  1. Структура проекта должна быть валидной (как в ДЗ2).
  2. Минимум бойлерплейта — соблюдайте принцип DRY.
  3. По возможности следовать SOLID (см. лекцию №2).
  4. Код должен быть покрыт тестами, coverage ≥ 65%.
  5. По минимуму писать функций и по максимуму использовать ООП.
  6. Использовать паттерны, которые проходили.
  7. Ваше приложение должно жить в докере (dockerhub)
  8. По возможности приложение должно быть развернуто в облачной среде. Если потребуется виртуалка, пишите https://t.me/turbomuza

Отдельное требование к ботам:

  1. Бот должен быть написан на aiogram
  2. Бот должен быть покрыт тестами
  3. Секреты бота должны быть скрыты от внешнего мира и подружены с .gitignore => внешний мир чтобы их никогда не увидел

Отдельное требование по БД:

  1. Секреты (логин и пароль) к БД должны быть спрятаны
  2. Схемы должны быть отрисованы в документации (на момент защиты должна быть в документации актуальная схема БД)
  3. Должно быть ассинхронное подключение
  4. Никаких сырых запросов, используем slqalchemy

Отдельное требование к МЛ:

  1. Обучающие данные должны быть закомичены
  2. Pypeline обучения (ваши джупитеры) должны быть закомичены
  3. Моделька должна быть куда-то выложена


Вес этапа: 50%. Дедлайн: 20.12.2025, 23:59

К итогу дедлайна должен быть сделан последний коммит, а если потребуются последующие, то только минимальные по исправлению багов и мелких доработок, не повлекшие к существенному изменению архитектуры проекта.


Этап 4

После завершения реализации проекта необходимо подготовиться к защите.

TL команды собирает достижения всех участников и свои, описывает их в документе в папке: final_project

Дедлайн: 18.12.2025, 23:59 Вес этапа: 30%.


Этап 5

Защита будет проходить в один из дней декабря 2025 (точная дата TDB).

Вы приходите в назначенный пулл, рассказываете всё, что сделали, отвечаете на вопросы преподавателя или ассистента.

Работоспособность вашего кода влияет на оценку в коэффициент с кодом

Продуктовая составляющая влияет на оценку в коэффициент с защитой


После этого получаете оценку и идёте отдыхать. :)

Итог

  Oитог = 0,2 * Дока + 0,5 * код + 0,3 * Защита