SixWeeksApp: описание проекта и этапы разработки

нельзя просто так взять и написать мобильное приложениеОписание проекта

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

Затем идея пошла развиваться дальше — я захотел сделать полноценный трэвел-дневник, где я бы отмечал посещенные страны, города, видел статистику, составлял рейтинги мест и мог делиться этим с другими.

Потом я начал думать, какие функции были бы интересны другим. Какая ценность этого приложения? Я выделил три пункта: учет посещенных стран (нужно в основном тревел маньякам, типа меня), шэринг красивой карты в сетях (я подчеркиваю “красивой”, потому что есть очень много сервисов, которые построят тебе карту посещений за 2 минуты, но она будет страшная) и третье — челленджи (вызвать на соревнование, кто первый посетит 20 стран или город Быдгощ в Польше. Таким, например, занимались СамиЗнаетеКто и блогер Варламов).

Идей, что можно реализовать в рамках тревел-дневника с элементами геймификации у меня народилось на несколько человеко-лет моего труда.

Потом у меня началась специализация в Гонконгском Университете Науки и Технологий, посвященная Full-stack development и я решил выделить и реализовать первую часть проекта в рамках дипломного проекта. Отсюда и выбор стека технологий: Bootstrap, AngularJS, Ionic, Node и MongoDB.

Сроки написания диплома сильно ограничены — по большому счету у меня есть 7 недель, одна из которых уже прошла в обдумывании всего этого процесса. Поэтому я решил разделить большой проект трэвел-дневника на этапы и на первом реализовать две из трех основных функций: это будут учет посещенных стран и шэринг карты в соцсети.

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

Итак, какую функциональность приложения я собираюсь реализовать в эти 6 недель:

  • авторизация пользователей через социальные сети или по е-мейлу
  • выбор посещенных стран, редактирование списка, удаление
  • добавление в вишлист и перевод из вишлиста в посещенные
  • (возможно) выбор любимых стран — прототип рейтинга
  • отрисовка карты всего мира или отдельного континента, с выбором темы оформления и настройкой стиля, выбором типа данных (посещенные, желаемые, любимые)
  • шэринг в соцсети сгенеренной карты, ссылки на полную карту на сайте или сохранение картинки, сохранение настроек карт в личном кабинете (при авторизации)
  • показ статистики в форме инфографики (процент посещенных стран, сравнение с другими пользователями и др.), шэринг инфографики в соцсети
  • вспомогательные разделы (о проекте, поддержка, обратная связь и т.п.)
  • многоязычность (на первом этапе русский и английский), легкое добавление новых языковых пакетов
  • мобильная версия Android и Apple iOS для смартфонов, планшетов и отзывчивый веб-сайт (с версиями для телефонов, планшетов и десктопа)

Про дальнейшее развитие проекта поговорим отдельно. Пока я вижу несколько возможных реализаций user stories в этой функциональности.

Основные задачи проекта для меня:

  • написание моего первого мобильного приложения
  • завершение обучения по специализации Full-stack Web Developer и демонстрация полученных навыков
  • опыт работы в целеориентированном проекте с жесткими дедлайнами
  • непосредственно приложение, которым я планирую пользоваться сам и развивать
  • опыт публикации приложений в аппсторе, работа с пользователями и всё, что с этим связано
  • лучшее понимание реальных задач при реальной разработке
  • наработка базы знаний, навыков и кода для дальнейших проектов
  • получение удовольствия от работы над чем-то, что может принести пользу другим и удовлетворение от результата
  • общение с вами, работа с фидбеком

Этапы работы

Как известно, “нельзя просто так взять и написать мобильное приложение”. Поэтому мы разобьем процесс на этапы. Для простоты привяжем количество этапов к количеству недель. Итого у нас получится 6 этапов, каждый со своим мини-дедлайном. Это позволит нам более точно оценивать наш прогресс и “успеваемость”.

Итак, что за этапы нам предстоит реализовать?

  1. идея, выбор имени, домена, список функций
  2. Prototyping and UI/UX Design
  3. HTML Layout and AngularJS Skeleton
  4. Ionic Framework Skeleton
  5. Backend на NodeJS и MongoDB
  6. «Wedding» and Refactoring
  7. Testing and Deployment

Я знаю, что будет нелегко, особенно по срокам. Невозможно будет проработать многие модули до нужной (мне) степени детализации, так как в первую очередь я буду исходить из сроков проекта. Из всех возможных способов реализации я планирую выбирать самое простое и легкое решение. К тому же я планирую делать проект в свое свободное от работы время.

Я также знаю, что если открыть аппстор и ввести visited countries map, то мы увидим похожие приложения, тысячи их. В мои задачи не входит сделать гениальный стартап, который порвёт всех. Моя задача — тренировка и демонстрация навыков.

Я очень надеюсь на поддержку семьи и на вашу поддержку и обратную связь тоже. Пожелайте мне удачи.

#SixWeeksApp

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *