Разработка веб-сервиса файлового менеджера для GoogleDrive (командный проект)

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
Компания On-Air.Pro
Учебный семестр Осень 2017
Учебный курс 3-й курс
Максимальное количество студентов, выбравших проект: 4-10



Что это за проект?

Не все знают, но у корпоративных и академических аккаунтов Google безлимитные хранилища в GoogleDrive. При этом, скорость обмена с сервером достаточная, чтобы хранить там медиаархивы. Это радикально меняет подход к хранению данных видеопроизводств, к видеорегистрации и многим другим "тяжеловесным" задачам. Проект нацелен на создание медиаархива на базе хранилища GoogleDrive. От стандартной веб-оболочки медиаархив отличают две важные особенности:

1. Представление данных в том виде, в каком это удобно для выборки, шаринга, выгрузки и т.д

2. Дополнение имеющихся метаданных информацией, получаемой от файловой системы и при анализе контента.

В данном проекте решается первая задача (вторая решается в соседнем проекте). Для этого уже написан веб-интерфейс файлового менеджера (MeteorJS, используется MongoDB). По сути, требуется доработка проекта.

При этом, важные требования: через серверы проекта медиа-трафик не проходит. То есть, загружается только метаинформация. Про метаданные файлов есть важное замечание: данных может быть довольно много, они даже могут быть относительно объёмными. Поэтому хранить их в полях метаданных, предоставляемых GoogleDrive не получится (кроме базовых сведений о файле -- это можно). Также, следует экономно относиться к запросам к серверу, т.к. на них есть ограничение для публичного сервиса оно вполне достижимое.

Чему научатся студенты? Что самое интересное в проекте?

  • Разработка веб-приложения с отзывчивым интерфейсом
  • Глубокое взаимодействие с API GoogleDrive

На выходе открытый продукт -- альтернативный файловый менеджер для GoogleDrive, размещённый в ChromeMarket.

Организация работы (Как студенты будут работать в команде?)

Роли и точный состав работ формируется по итогам регистрации желающих участвовать (команда может быть смешанной, в т.ч. со студентами МИЭМ и других факультетов, аналогичная тема заявлена на ярмарке проектов.

Далее организуется slack и трекер (обычно trello), где ведется рабочее общение и трекинг задач.

Встречи -- по договоренности (на первых порах это понадобится точно) на Кочновском, альтернативный и более частый вариант -- аудио/видеосвязь. Удобно, т.к. можно собираться по актуальному вопросу безотлагательно и в любое время в любом составе.

Компоненеты (Из каких частей состоит проект?)

Meteor/MongoDB несколько размывают границу между frontend/backend. Важной частью проекта будет взаимодействие с GoogleDrive API. Также понадобится REST API для работы анализатора контента, являющегося по сути отдельным проектом.

Личный кабинет пользователя должен включать возможность использования платежной системы. Коммерческая часть проекта относится к функционалу "витрины/магазина" и к подключению внешнего анализатора/обработчика данных на пользовательском диске, а также "статического CDN". Проще говоря, проект предусматривает подключение внешних модулей как дополнительных услуг, сам по себе он планируется бесплатным для использования (freemium).

Какие будут использоваться технологии?

  • Meteor / MongoDB
  • GoogleDrive API

Какие начальные требования?

  • Навыки веб-разработки или желание её изучить.

Темы вводных занятий

Не в порядке изложения:

1. Архитектура проекта. API, внешние связи и зависимости.

2. Специфические технологии и используемые инструменты.

3. Доступные ресурсы, организация доступа.

4. Разделение ролей

Критерии оценки

Про работу и оценки почитайте здесь: https://d.pr/143bq

Постарайтесь отнестись к этому с пониманием. Очень часто бодрое начало длится 3-4 недели и потом наступает тишина. Очень хочется, чтобы проекты доводились до запуска, а вы получали опыт успешной разработки и, возможно, работу в этих проектах уже в другом статусе. Но пока это для вас учебная работа, поэтому будем придерживаться описанных по ссылке правил и критериев. Спасибо!

Похожие проекты

Есть множество галерей и видеохостингов (начиная с Youtube и Vimeo), но они хранят готовые материалы, многие ориентированы на продажу (это полезно и в данном проекте). Но все они используют собственные хранилища и непрозрачны по заргузке/выгрузке. GoogleDrive тоже не самый удобный в смысле протоколов доступа сервер хранения (тот же Yandex предоставляет доступ по WebDAV, но про бесконечные диски там речи нет).

Есть различные фото/видеогалереи, но и они не решают вопроса доступа.

Аналогичный проект на Ярмарке проектов ВШЭ: https://pf.hse.ru/208039048.html

Контактная информация

Денис Королев,

https://www.hse.ru/staff/dkorolev (там есть ссылки на соцсети)

+7 903 610 3290 (месенджеры по вкусу)

d.korolev@gmail.com