Тема: Разработка веб-сервера для приложения (аренда самокатов) в Марокко
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
2. Постановка задач 6
3. Обзор 7
3.1 Анализ аналогичных сервисов. 7
3.1.1 Whoosh 8
3.1.2 Сервис аренды от Яндекса 9
3.1.3 Юрент 9
3.1.3 Выводы 11
3.2 Актуальность решения 11
4. Требования 13
4.1. Функциональные требования 13
4.1.1. Аутентификация пользователей 13
4.1.2. Предоставление списка свободных самокатов 13
4.1.3. Добавление новых самокатов 13
4.1.4. Начало и окончание аренды 13
4.1.5. Сохранение геопозиции самокатов 14
4.2. Нефункциональные требования 14
4.2.1. Модульность 14
4.2.2. Масштабируемость 14
4.2.3. Отказоустойчивость 14
5. Архитектура 15
5.1. Построение архитектуры 15
5.1.1. Разделение сервера на микросервисы 15
5.1.2. Gateway 15
5.1.3. Сервис аутентификации и авторизации пользователей 16
5.1.4. Сервис генерации паролей 16
5.1.5. Сервис для контроля состояния самокатов 17
5.1.6. Сервис отображения доступных самокатов 17
5.1.7. Сервис контроля заказов 17
5.1.8. RabbitMQ 18
5.2 Основные сценарии использования 18
5.2.1. Авторизация по одноразовому паролю 18
5.2.2. Добавление новых самокатов 19
5.2.3. Зарядка самокатов 20
5.2.4. Начало и окончание аренды самоката 21
6. Особенности реализации 24
6.1. Асинхронное общение через RabbitMQ 24
6.2. Контейнеризация 24
6.3. Аутентификация на основе областей видимости (scopes) 24
Заключение 26
Список литературы 27
📖 Введение
Основной задачей и темой данного диплома стала разработка веб-сервера для приложения кикшеринговой компании.
Приложение аренды самокатов представляет из себя пользовательский интерфейс и логику, скрытую за ним. Эта логика и реализуется посредством веб-сервера. Веб-сервер - это “мозг” приложения, на сервере выполняются все взаимодействие между самокатами, пользователем и внешними сервисами, именно поэтому реализация данной важнейшей части приложения стала темой этой дипломной работы.
Подобные сервисы уже существуют по всему миру, в том числе и в России. Наибольшую долю рынка занимают сервисы от Яндекса и Whoosh. Эти сервисы представляют из себя сложные приложения с точки зрения разработки, и подобные решения не представлены в открытом доступе, поэтому в данной работе все было реализовано с нуля.
При таком подходе возникает множество вопросов и проблем с реализацией того или иного функционала, что и формирует задачи проекта. Разрабатывая большое приложение с нуля, нужно учесть много факторов и нюансов, чтобы финальный продукт работал стабильно, эффективно и решал поставленную задачу.
Так как исходный код существующих сервисов не представлен в открытом доступе, важно обратить внимание на устройство этих сервисов хотя бы со стороны пользователя и использовать удачные решения и подходы, а также учесть чужие недо статки и стремиться сделать свой сервис лучше.
Марокко - одно из самых развитых государств Африки. Я гражданин этой страны, а сервис краткосрочной аренды электросамокатов - мой стартап. Запуск проекта запланирован в Касабланке, в самом крупном городе королевства.
Для жителей Касабланки самокаты станут неотъемлемой частью повседневной жизни, так как инфраструктура города и погодные условия позволяют пользоваться ими круглый год. В то же время, в стране слабо развиты технологии и запуск такого масштабного проекта определенно ускорит ее развитие.
Именно поэтому в данной работе были приложены все усилия, чтобы создать правильный с точки зрения разработки продукт, а именно, его главную функциональную часть, отвечающую за стабильную и быструю работу - веб-сервер приложения.
✅ Заключение
• Произведен анализ аналогичных сервисов: Woosh, Яндекс. Выявлены их преимущества и недостатки.
• Разработаны требования к системе.
• Разработана архитектура приложения. Выбран архитектурный стиль и построена полноценная микросервисная архитектура, включающая в себя следующие сервисы:
о Gateway,
о сервис генерации паролей,
о сервис контроля самокатов,
о сервис отображения свободных самокатов,
о сервис контроля заказов,
о сервис аутентификации и авторизации,
о RabbitMQ.
• Реализована работа веб-сервера с применением выбранной архитектуры и современных подходов, а также были реализованы следующие сценарии использования:
-о добавление новых самокатов в систему,
-о по становка самокатов на зарядку,
-о начало и окончание аренды самоката.





