Процент владельцев собак от общего числа жителей России сильно варьируется от местожительства, в целом, этот процент обратно пропорционален размеру населённого пункта, от 70 % в сёлах до 11 % — в крупных городах. В малых городах собак держат 44% жителей, в больших – 31%, в Москве – 16%. Можно сделать предположение, что общее количество владельцев собак в России превышает 10 миллионов.
В настоящее время почти не осталось свободных отраслей и рынков, куда не проникли бы информационные технологии. По сути, и сфера сервисов для домашних животных не была обделена вниманием, но после проведенного анализа конкурентов было выяснено, что они не снискали большого успеха.
Для понимания того, чем можно заинтересовать пользователя на подобном тематическом ресурсе, были проведены опросы. В итоге, был выявлен основной функционал, который заинтересовал бы потенциального пользователя, и было принято решение создать проект, который займет свое место.
Главными функциями системы являются: поиск маршрутов для совместных прогулок и просмотр удобных мест для прогулок с собакой (безопасных как для собаки, так и не доставляющих проблем простым прохожим). Вспомогательными функциями системы являются: регистрация, авторизация, создание профилей собак, редактирование информации как о владельце, так и собаке.
Для реализации сервиса был взят весь стек .NET, чтобы облегчить разработку, путём более безболезненной интеграции инструментов между собой. При выборе карт за первый основополагающий критерий было взято качество карт на территории России. По данному критерию сравнивались Google.Maps и Яндекс.Карты. В итоге выбор бы сделан в пользу Яндекс.Карт. Второй основополагающий критерий, на основании которого был сделан выбор между OpenStreetMap и Яндекс.Картами в пользу Яндекс.Карт, - для русского пользователя на которого система ориентирована первоначально, работа с последними более привычна.
Другими критериями, по которым сравнивались карты - наличие хорошо задокументированного API, технические возможности, лицензионные соглашения. Но там кардинальных различий выявлено не было.
На рисунке 1 представлена общая архитектура проекта. – это классическая трёхзвенная архитектура, с веб-сервером и базой данных в облаке, для обеспечения масштабирования.
Рис. 1. Общая архитектурная схема проекта
На рисунке 2 отражена структура проекта web-сервера. На ней выделены следующие слои приложения:
1) Shared – общий слой для вспомогательных инструментов, использующихся во всех частях проекта.
2) DataBase – слой подключения к базе данных, представляющий из себя Entity Framework context с подходом code first, который позволяет генерировать базу данных по доменным сущностям.
3) Слой бизнес логики (Business), состоящий из сборок:
a. Repositories – хранит все запросы к базе данных;
b. DomainEntites – содержит сущности, эквивалентные таблицам в базе данных;
c. Services – содержит логику вставки\изменений\другого рода подобных действий. Например, добавление изображений изображений, процесс добавления маршрута на карту и т.п.
d. ServiceUnitTest – проект, содержащий unit тесты на сервисы.
4) Слой представления – ASP MVC проект.
Рис.2. Архитектура Web-сервера
В процессе реализации была проделана большая работа. Использовался популярный шаблон проектирования MVC, и его вариация от Microsoft - ASP MVC; для авторизации и идентификации использовались библиотеки ASP Membership Identity.
Рис.3. Поиск по маршрутам
На рисунке 3 представлена страница поиска по маршрутам: чтобы осуществить поиск необходимо указать время начала прогулки, время окончания прогулки, период действия прогулки на неделе (будни, выходные или каждый день), а также выбрать область на карте. Для реализации поиска по маршрутам все точки каждого из маршрутов сохранялись в базе данных, как отдельные записи со ссылкой на создателя маршрута.
В заключение можно сказать, что целью работы являлось создание работающего прототипа социальной сети для владельцев собак, и данная цель была достигнута. Безусловно, получившийся результат, нельзя считать финальным, и готовым к публикаций. Чтобы создать действительно успешный коммерческий проект, необходимы материальные вложения и работа далеко не одного специалиста. Текущий результат работы можно считать отличным фундаментом для начала масштабных работ и поиска финансирования.
Литература:
1. Р.А. Алешко, А.Т. Гурьев, К.В. Шошина, В.С. Щеников Разработка методики визуализации и обработки геопространственных данных // Научная визуализация. – 2015. - №1. – С. 20 – 29.
2. Алешко Р.А. Система мониторинга и управления пространственными гетерогенными объектами (на примере Соловецкого архипелага) / Бекмешев А.Ю., Васендина И.С., Гурьев А.Т., Карлова Т.В., Шошина К.В., Щеников В.С. // Вестник БГТУ. - 2014. - №3(43). - С.104-108.
3. Гурьев А.Т. Разработка геоинформационной системы на базе программного обеспечения с открытым исходным кодом / Алешко Р.А., Васендина И.С., Шошина К.В., Щеников В.С. // Вестник БГТУ. - 2014. - №3(43). - С.114-118.
4. Алешко Р.А., Гурьев А.Т. Структурное моделирование взаимосвязей дешифровочных признаков спутниковых снимков и таксационных параметров лесных насаждений // Труды СПИИРАН. Вып. 29 (2013). С. 180–189.
5. Алешко Р.А., Гурьев А.Т. Методика тематического дешифрирования спутниковых снимков лесных территорий на основе структурных моделей // Известия Вузов. Приборостроение. 2013. Т.56. №7. С. 76–77.