Цели и задачи дисциплины
Целью дисциплины является освоение современных технологий разработки корпоративных клиент-серверных приложений на платформе .NET, включающих контейнеризацию, веб-сервисы, базы и хранилища данных, средства безопасности и мониторинга приложений. Задачи: освоение на практике последовательного процесса проектирования и программирования компонентов корпоративного клиент-серверного приложения, включающего такие этапы, как разработка схемы базы данных, разработка серверного слоя бизнес-логики в виде веб-сервиса (API), разработка клиентского веб-интерфейса пользователя в виде javascript-приложения.
Краткое содержание дисциплины
В рамках дисциплины изучается поэтапный процесс разработки клиент-серверного приложения и применяются на практике следующие технологии:
1. Терминал Windows c PowerShell 7.
2. Платформа .NET 8.0 LTS, язык C# 12, Visual Studio Community 2022.
3. ОС Windows: Docker Desktop (требуется WSL2). ОС Linux: Docker. Репозиторий образов DockerHub.
4. Entity Framework Core, провайдер для PostgreSQL (NuGet-пакет в VS), миграции БД, EF CodeFirst, LINQ.
5. Web-сервисы на .NET (ASP.NET Core WebAPI), Postman, C# async.
6. Интерфейс на Vue.js 3 версии.
7. Обратный прокси NGINX (балансировщик нагрузки, web-сервер для Vue.js).
8. JWT-токены, аутентификация, авторизация (роли) в приложениях Vue.js и ASP.NET Core.
9. Логирование в приложениях.
10. Кеширование web-запросов, снижение нагрузки на БД.
11. Резервное копирование и восстановление БД в Postgres.