Найти тему
IT-предприниматель

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

Оглавление

Доброго времени суток, любимые мои читатели. Каждый день вас становится всё больше, пусть и не очень большими темпами, но мне приятно видеть, что материалы читают, комментируют и ставят лайки. Продолжайте это делать и дальше, а я буду делиться своими проектами.

О чём статья?

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

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

Статистика по посещениям справочного сайта сейчас стабильно даёт ~100 пользователей в сутки, это потенциальные платные пользователи, которые просто не смогли разобраться в приложении и поэтому создание грамотной справочной инфраструктуры очень важна.

Проектирование будущего сайта

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

  • Сайт должен быть полностью адаптирован под мобильные устройства — удобное отображение текста, изображений, таблиц и интерфейса.
  • Ввиду ориентированности на мобильные устройства необходимо продумать механизм догрузки нового контента без перезагрузки страницы. Необходимо отсутствие обновления страницы, а лишь замена текстовой части.
  • Мультиязычность. Необходимо создать полностью мультиязычный сайт с поддержкой любого количества языков. Для начала Английский, Русский, Польский, Итальянский, Немецкий, Испанский, Японский, Французский, Иврит, Арабский.
  • Стоит подумать над созданием администраторского интерфейса для добавления новых страниц с информацией и редактирования существующих. С каждым обновлением приложения может потребоваться изменение справочной информации.

Для решения задачи создания ориентированного на мобильные устройства сайта я планирую использовать технологии React, выбор её позволит решить проблему с подгрузкой информации и думаю имеет гибкие возможности для оптимизации под мобильные устройства. Скажу сразу, ранее я с React не работал, но не считаю это проблемой, изучу.

Структура сайта

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

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

Макет будущего сайта
Макет будущего сайта

Стрелочками показано то, куда ведут определенные ссылки. Вы можете посмотреть оригинал макета по ссылке. Вам доступен только просмотр. Это не окончательный вариант расположения элементов и структуры сайта, но пока что я ориентируюсь именно на него. Важное решение — продумать всё это до того, как я приступил к программированию.

Хранение информации

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

На данный момент я рассматриваю вариант с MongoDB. Это одна из самых популярных NoSQL, по задумке для каждой отдельной страницы инструкции или Вопрос-ответа, и внутри каждого документа набор из переводов на разные языки. Я не уверен в плюсах и минусах этого подхода, напишите в комментариях, если вы сталкивались с таким или у вас есть какие-то идеи.

Второй вариант, к использованию которого я и склоняюсь, заключается в использовании MySQL. А для возможности хранить перевод на несколько языков планирую добавить столбец с идентификатором языка. Из минусов, для каждой сущности Инструкции/Вопрос-ответ будет храниться несколько записей в одной таблице, различающихся переводом и идентификатором языка.

Что дальше?

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

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