Тип работы:
Предмет:
Язык работы:


РАЗРАБОТКА СЕРВЕРА ДЛЯ ПРИЛОЖЕНИЯ LANGUAGE EXCHANGE CHAT

Работа №185075

Тип работы

Бакалаврская работа

Предмет

математика и информатика

Объем работы56
Год сдачи2024
Стоимость4560 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
16
Не подходит работа?

Узнай цену на написание


АННОТАЦИЯ 3
ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ И ТЕРМИНОВ 3
ВВЕДЕНИЕ 4
1 Выработка требований к приложению 5
1.1 Выработка функциональных требований 5
2 Выбор технических инструментов 8
2.1 Выбор языка 8
2.2 Выбор основного фреймворка 8
2.3 Выбор дополнительных библиотек и фреймворков 9
2.4 Выбор программных компонентов приложения 12
3 Подготовка среды разработки 15
3.1 Контейнеризация посредством Docker 15
3.2 Упрощение развёртывания проекта посредством Makefile 18
3.3 Инициализация проекта 19
4 Проектирование архитектуры приложения и API 22
4.1 Знакомство с терминами и процессами фреймворков 22
4.2 Проектирование API 23
4.2.1 Проектирование архитектуры API 23
4.2.2 Проектирование сценариев использования API 25
4.2.3 Выбор формата запросов и ответов API 26
5 Реализация аутентификации и авторизации пользователей 28
5.1 Выбор способа аутентификации пользователей 28
5.2 Реализация аутентификации 30
5.3 Реализация авторизации 34
6 Создание ресурсов API 36
6.1 Создание API-ресурса пользователя 36
6.2 Создание API-ресурса языка пользователя 42
6.3 Создание остальных ресурсов API 43
7 Реализация доставки сообщений в реальном времени 46
ЗАКЛЮЧЕНИЕ 47
СПИСОК ИСТОЧНИКОВ 48

Актуальность данной работы обусловлена необходимостью в изучении иностранных языков и развитии навыков коммуникации с их использованием в комфортных для каждого обучающегося условиях для обеспечения эффективного и доступного образовательного процесса.
Для обеспечения выполнения данных требований будет разработано серверное приложение, предоставляющее API для взаимодействия с различных клиентских приложений, в том числе мобильного или веб - интерфейса. Это обеспечит доступ к образовательному ресурсу с минимальными требованиями к ученикам — будет необходим только доступ к интернету.
Само приложение будет представлять собой чат для языкового обмена с более опытными его владельцами или же с его носителями. В ходе общения с другими пользователями можно будет развить навыки формального и неформального общения на интересующих ученика языках, получить множество знаний из других профессиональных сфер, а также узнать особенности культуры различных регионов и народов.
Целью данной работы является создание серверного приложения, предоставляющего доступ посредством API, которое будет обеспечивать обработку данных, в том числе доставку сообщений в реальном времени для получения пользователями эффективного и доступного развития коммуникации на иностранных языках.
Для достижения поставленной цели необходимо решить следующие задачи:
1. Выработать требования к приложению.
2. Выбрать технические инструменты.
3. Подготовить среду для разработки.
4. Спроектировать архитектуру приложения и API.
5. Реализовать аутентификацию и авторизацию пользователей.
6. Создать ресурсы API.
7. Реализовать доставку сообщений в реальном


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В процессе выполнения дипломной работы были выработаны функциональные и нефункциональные требования к приложению, которые позволили построить концепцию создаваемого приложения.
Далее, в ходе работы, были выбраны технические инструменты, с помощью которых далее велась разработка, в том числе РСУБД PostgreSQL и веб-сервер Nginx, и был выбран сервис для доставки сообщений в режиме реального времени Mercure, который основан на протоколах HTTP и SSE.
Также были рассмотрены такие проблемы как проектирование архитектуры и API, для этого изучена архитектура REST, основные термины и процессы выбранных фреймворков.
Были рассмотрены подходы к реализации аутентификации, а также реализована аутентификация пользователей на основе пары токенов, а именно access token и refresh token, первый из которых является JWT.
В заключительном этапе разработки были созданы ресурсы API и реализована доставка сообщений в режиме реального времени.
Таким образом, результатом дипломной работы является полноценное API-приложение, а именно чат для языкового обмена с более опытными его владельцами или же с его носителями. Приложение предлагает посредством общения с другими пользователями развить навыки формального и неформального общения на интересующих ученика языках, получить множество знаний из других профессиональных сфер, а также узнать особенности культуры различных регионов и народов.



1. SPMI. Уровни знания языка по Европейской системе [Электронный
ресурс] URL: https:// spmi.ru/urovni-znaniya-yazyka-po-evropeyskoy-sisteme
(дата обращения: 10 февраля 2024 г.)
2. Skyeng. Шесть уровней владения английским языком: ступени к совершенству [Электронный ресурс] URL: https://skyeng.ru/articles/english- levels/ (дата обращения: 15 февраля 2024 г.)
3. First Decision. Международная и Европейская шкалы уровней владения английским языком [Электронный ресурс] URL: https://fd- english.ru/cefr.php (дата обращения: 20 февраля 2024 г.)
4. Wikipedia. MVP [Электронный ресурс] URL:
https://ru.wikipedia.org/wiki/Минимально_жизнеспособный_продукт (дата
обращения: 25 февраля 2024 г.)
5. Express Medical Laboratory. Политика конфиденциальности [Электронный ресурс] URL: https://e-m-l.ru/information/privacy-policy/ (дата обращения: 1 марта 2024 г.)
6. Хабр. KPHP спустя 2 года [Электронный ресурс] URL: https://habr.com/ru/companies/vk/articles/698294/ (дата обращения: 5 марта 2024 г.)
7. Wikipedia. KPHP [Электронный ресурс] URL:
https://ru.wikipedia.org/wiki/KPHP (дата обращения: 10 марта 2024 г.)
8. VK. HTTP запросы и AJAX: short-polling, long-polling, websockets и все-все-все [Электронный ресурс] URL: https://vk.com/@social_it-http-zaprosy- i-ajax-short-polling-long-polling-websockets-i (дата обращения: 13 марта 2024 г.)
9. Хабр. Убьет ли HTTP/2 лонг поллинг и вебсокеты? [Электронный
ресурс] URL: https://habr.com/ru/companies/evrone/articles/705232/ (дата
обращения: 16 марта 2024 г.)
10. Хабр. Сравнение технологий WebSockets, Server-Sent-Events, Long-
Polling, WebRTC и WebTransport [Электронный ресурс] URL:
https://habr.com/ru/articles/809535/ (дата обращения: 20 марта 2024 г.)
11. Okusov. HTTP, Server Sent Events (SSE), Websockets и Long Polling
[Электронный ресурс] URL: https://okusov.ru/http-server-sent-events-sse- websockets-i-long-polling-1 (дата обращения: 25 марта 2024 г.)
12. Хабр. PHP создан, чтобы умирать [Электронный ресурс] URL: https://habr.com/ru/articles/179399/ (дата обращения: 29 марта 2024 г.)
13. Mozilla. Using server-sent events [Электронный ресурс] URL: https://developer.mozilla.org/ru/docs/Web/API/Server-sent_events/Using_server- sent_events (дата обращения: 1 апреля 2024 г.)
14. Хабр. Как работает JS: WebSocket и HTTP/2+SSE. Что выбрать?
[Электронный ресурс] URL:
https://habr.com/ru/companies/ruvds/articles/342346/ (дата обращения: 1 апреля 2024 г.)
15. Wikipedia. ACID [Электронный ресурс] URL:
https://ru.wikipedia.org/wiki/ACID (дата обращения: 3 апреля 2024 г.)
..42


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ