<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://www.wikicshse.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81_%D1%83%D1%87%D0%B5%D1%82%D0%B0_%D0%B8_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%28%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%29</id>
	<title>Сервис учета и классификации активности (командный проект) - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://www.wikicshse.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81_%D1%83%D1%87%D0%B5%D1%82%D0%B0_%D0%B8_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%28%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%29"/>
	<link rel="alternate" type="text/html" href="https://www.wikicshse.ru/index.php?title=%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81_%D1%83%D1%87%D0%B5%D1%82%D0%B0_%D0%B8_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D0%B8_(%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;action=history"/>
	<updated>2026-06-06T16:22:40Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://www.wikicshse.ru/index.php?title=%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81_%D1%83%D1%87%D0%B5%D1%82%D0%B0_%D0%B8_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D0%B8_(%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=1792&amp;oldid=prev</id>
		<title>imported&gt;GalinaKaleeva: Перенос проекта на осень 2017</title>
		<link rel="alternate" type="text/html" href="https://www.wikicshse.ru/index.php?title=%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81_%D1%83%D1%87%D0%B5%D1%82%D0%B0_%D0%B8_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D0%B8_(%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D1%8B%D0%B9_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82)&amp;diff=1792&amp;oldid=prev"/>
		<updated>2017-08-18T08:06:58Z</updated>

		<summary type="html">&lt;p&gt;Перенос проекта на осень 2017&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Карточка_командного_проекта&lt;br /&gt;
|name=Сервис учета и классификации активности&lt;br /&gt;
|company=IPONWEB&lt;br /&gt;
|semester=Осень 2017&lt;br /&gt;
|course=3&lt;br /&gt;
|number_of_students=4-5&lt;br /&gt;
|categorize=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Что это за проект? ===&lt;br /&gt;
Сервис, собирающий информацию об активности пользователя с различных устройств и браузера и размечающий активности как продуктивные/непродуктивные.&lt;br /&gt;
&lt;br /&gt;
=== Чему научатся студенты? Что самое интересное в проекте? ===&lt;br /&gt;
Наиболее интересные компоненты проекта:&lt;br /&gt;
* Классификатор активности. Можно по словам в заголовке, можно выкачивать списки приложений (игр, ide, офисных пакетов) или даже получать информацию через их апи во время получения неизвестной активности.&lt;br /&gt;
* Учет активности с разных устройств. Например, если человек листает учебник на планшете и делает заметки на ноутбуке, то нужно смержить эти активности как общепродуктивные. Идеально разработать хранилище паттернов поведения и учитывать активность в целом.&lt;br /&gt;
&lt;br /&gt;
=== Организация работы (Как студенты будут работать в команде?) ===&lt;br /&gt;
Основные моменты взаимодействия:&lt;br /&gt;
* Непрерывная интеграция: линтеры кода, прогон тестов, покрытие тестами, сборка пакета и выкладка на прод, работа с конфигурациями. Настройка на примере Jenkins или Phabricator. Работа с конфигурациями через Puppet (или, возможно, Docker или Vagrant)&lt;br /&gt;
* Гибкая методология разработки: бэклог, организация спринтов, оценка сложности задач и сопоставление с фактически потраченным, демо. Технически на примере Trello, RedMine или Phabricator&lt;br /&gt;
* В группе каждые 2 недели (спринт) переходит роль менеджера проекта, чтобы каждый мог попробовать роль пару раз и на планирование не забивали.&lt;br /&gt;
* Взаимные код-ревью: все ревьюят всех.&lt;br /&gt;
* Удаленная работа, встречаться нечасто (например, в конце каждого спринта), но раз в 2-3 дня обязательно синхронизовать результаты и планы в слаке/телеграмме или по почте.&lt;br /&gt;
&lt;br /&gt;
=== Компоненеты (Из каких частей состоит проект?) ===&lt;br /&gt;
* Сервер принимающий информацию от агентов.&lt;br /&gt;
* Графики разной статистики в веб-кабинете пользователя (можно взять за основу код grafana)&lt;br /&gt;
* Клиенты: для десктопов (для начала можно ограничиться одной платформой Ubuntu/OSX и писать на Electron), плагины для браузера (на Greasemonkey и Tampermonkey), клиенты для мобильных устройств (можно использовать кросс-платформенные фреймворки типа Ionic)&lt;br /&gt;
* Сервер: Язык не принципиален нужно сделать REST API, СУБД: InfluxDB и скорее всего для хранения фич разных приложений (заголовков) понадобится MongoDB.&lt;br /&gt;
* ETL-сервисы и классификаторы активностей.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Техническое описание:&lt;br /&gt;
* Пользователь устанавливает агенты сервиса на своих устройствах, агенты отправляют на сервер данные об активностях пользователя.&lt;br /&gt;
* Агент должен отправлять только заголовок активного окна. При этом не всегда можно отследить изменение окна без переключения программы, поэтому для браузеров может понадобиться плагин.&lt;br /&gt;
* Агент также должен агрегировать информацию находясь в оффлайн и отправлять при появлении соединения.&lt;br /&gt;
* Предлагается попробовать InfluxDB для хранения метрик. Также понадобится спроектировать алгоритм учета активностей, поступающих с разных устройств в одно время (недостаток всех существующих сервисов этой категории).&lt;br /&gt;
&lt;br /&gt;
=== Какие будут использоваться технологии? ===&lt;br /&gt;
* Фреймворки Electron, React Native - для кросс-платформенных клиентов. &lt;br /&gt;
* Возможно, понадобится более низкоуровневое программирование под конкретные ОС: Swift, Java, C#, etc&lt;br /&gt;
* InfluxDB в качестве основной СУБД&lt;br /&gt;
&lt;br /&gt;
=== Какие начальные требования? ===&lt;br /&gt;
* Опыт веб-разработки сервисов с REST API&lt;br /&gt;
* Желателен опыт разработки приложений с взаимодействием с компонентами различных ОС.&lt;br /&gt;
* Желателен опыт кросс-платформенной разработки приложений.&lt;br /&gt;
&lt;br /&gt;
=== Темы вводных занятий ===&lt;br /&gt;
* Взаимодействие в команде, методология Agile&lt;br /&gt;
* Архитектура разрабатываемого проекта&lt;br /&gt;
* Составление бэклога и планирование спринтов&lt;br /&gt;
&lt;br /&gt;
=== Критерии оценки ===&lt;br /&gt;
Минимальные требования (на 4-5 баллов):&lt;br /&gt;
* Разработан агент под Ubuntu, собирающий активность пользователя и отправляющий ее на сервер&lt;br /&gt;
* Разработан сервер, агрегирующий информацию об активности пользователя.&lt;br /&gt;
* Разработан веб-сайт, через который пользователь может просматривать статистику своей активности, отмечать активность как продуктивную или нет.&lt;br /&gt;
* Разработан классификатор активностей на основе слов, встречающихся в заголовках активных окон и отметок пользователя.&lt;br /&gt;
&lt;br /&gt;
Точные требования на 6-10 будут сформулированы на первых занятиях исходя из составленного бэклога и уровня подготовки участников проекта.&lt;br /&gt;
&lt;br /&gt;
=== Похожие проекты ===&lt;br /&gt;
* Rescuetime&lt;br /&gt;
* Project Hamster&lt;br /&gt;
&lt;br /&gt;
=== Контактная информация ===&lt;br /&gt;
* Почта: acccko@gmail.com&lt;br /&gt;
* Телеграмм: @acccko&lt;/div&gt;</summary>
		<author><name>imported&gt;GalinaKaleeva</name></author>
	</entry>
</feed>