Разработка веб-приложения мессенджера с функцией групповых подчатов
ВВЕДЕНИЕ
Мессенджер – это приложение или программное обеспечение, которое позволяет людям обмениваться текстовыми сообщениями, фотографиями, видео и другими файлами через интернет. Мессенджеры обычно работают на смартфонах, планшетах или компьютерах и предлагают функции общения в режиме реального времени. Они позволяют пользователям создавать чаты или группы, отправлять сообщения одному или нескольким получателям, а также обмениваться медиафайлами.
Данная работа представляет веб-приложение мессенджер с функцией групповых подчатов. Целью данного приложения – облегчение общения между администратором и участниками группы. Приложение содержит функцию подчата, которая помогает администратору контролировать главный чат группы, а также иметь возможность быстрого перехода от главного чата к чату с участником группы. Благодаря данному приложению, администратору предоставляются следующие возможности: коммуникация с участниками через отдельные подчаты
СОДЕРЖАНИЕ
АННОТАЦИЯ4
ВВЕДЕНИЕ6
1 АНАЛИТИЧЕСКИЙ РАЗДЕЛ7
1.1 Анализ приложения7
1.2 Мессенджер7
1.3 Обзор существующих решений8
1.4 Инструменты разработки9
1.4.1 Язык программирования C#9
1.4.2 Фреймворк ASP.NET Core10
1.4.3 Язык разметки HTML12
1.4.4 Язык таблиц стилей CSS13
1.4.5 Язык программирования JavaScript13
1.4.6 Библиотека ReactJS13
1.4.7 Формат текстовых данных JSON15
1.5 Среда разработки15
1.6 Выводы по первой главе16
2 СТРУКТУРНОЕ ПРОЕКТИРОВАНИЕ17
2.1 Общие сведения17
2.2 Проектирование клиентского приложения17
2.3 Выводы по главе 218
3 РАЗРАБОТКА19
3.1 Общая структура19
3.2 Серверная часть разработки23
3.2.1 Создание и запуск веб-хостинга23
3.3 Клиентская часть разработки36
3.4 Выводы по главе 342
4 ТЕСТИРОВАНИЕ43
ЗАКЛЮЧЕНИЕ49
СПИСОК ЛИТЕРАТУРЫ50
ПРИЛОЖЕНИЕ51
СПИСОК ЛИТЕРАТУРЫ
Краткий обзор языка C# [Электронный ресурс] // Электрон. текстовые дан. – Режим доступа: https://learn.microsoft.com/ru-ru/dotnet/csharp/tour-of-csharp/ (дата обращения: 25.03.2023).
Rider: кросс-платформенная IDE для .NET [Электронный ресурс] // Электрон. текстовые дан. – Режим доступа: https://www.jetbrains.com/ru-ru/rider/ (дата обращения: 27.03.2023).
Полное руководство по React JS material-ui [Электронный ресурс] // Электрон. текстовые дан. – Режим доступа: https://webformyself.com/polnoe-rukovodstvo-po-react-js-material-ui/ (дата обращения: 05.04.2023).
Введение в ASP.NET Core [Электронный ресурс] // Электрон. текстовые дан. – Режим доступа: https://itvdn.com/ru/blog/article/aspnet_core#:~:text=ASP.NET%20Core%20–%20это%20новый,на%20полной%20платформе%20.NET%20Framework (дата обращения: 10.05.2023).
Документация по веб-API ASP.NET Core с использованием Swagger (OpenAPI) [Электронный ресурс] // Электрон. текстовые дан. – Режим доступа: https://learn.microsoft.com/ru-ru/aspnet/core/tutorials/web-api-help-pages-using-swagger?view=aspnetcore-5.0 (дата обращения: 11.05.2023).
ПРИЛОЖЕНИЕПриложение АЛистинг . Содержание файла SwaggerGenExtension.cs
using Microsoft.Extensions.DependencyInjection;using Microsoft.OpenApi.Models;namespace Infrastructure.Configuration.Extensions;public static class SwaggerGenExtension{ public static IServiceCollection AddSwaggerGenExample(this IServiceCollection services) { services.AddSwaggerGen(options => { var xmlFilename = "VolNalChatAPI.xml"; options.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, xmlFilename)); }); return services; } public static IServiceCollection AddSwaggerGenIdentity(this IServiceCollection services) { services.AddSwaggerGen(options => { var xmlFilename = "VolNalChatAPI.xml"; options.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, xmlFilename)); options.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme() { Name = "Authorization", Type = Security
На рисунке 1 представлена архитектура ASP.NET Core Web API.
Рисунок 1. Архитектура ASP.NET Core Web API
Подробное описание основных компонентов ASP.NET Core Web API:
Контроллеры (Controllers): Контроллеры являются основным компонентом ASP.NET Core Web API и отвечают за обработку HTTP-запросов от клиентов. Контроллеры содержат методы, которые называются действиями (actions) и обрабатывают запросы на определенные маршруты. Каждый действие возвращает результат, который может быть в формате JSON, XML или других форматах данных.
Маршрутизация (Routing): ASP.NET Core Web API обеспечивает гибкую маршрутизацию запросов к соответствующим контроллерам и действиям. Маршрутизация определяет, какой контроллер и действие должны быть вызваны в ответ на определенный HTTP-запрос. Маршруты могут быть определены с использованием атрибутов, конфигурации или конвенций.
Модели (Models): Модели представляют данные, используемые в веб-сервисе API. Они могут быть классами C#