2.4 KiB
2.4 KiB
Лабораторные работы — Деев
Лабораторная работа 1 — Django REST API
Расположение: lab-1/
Django-приложение с REST API для викторины. PostgreSQL, без Docker.
Запуск:
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver
Лабораторная работа 2 — Docker
Расположение: lab-2/
То же приложение, упакованное в Docker-контейнеры. Три варианта запуска:
| Папка | Описание |
|---|---|
local/ |
Сборка образов из исходников, PostgreSQL в контейнере |
web_lite/ |
Готовые образы с dcr.deev.su, PostgreSQL внешний |
web_pg/ |
Готовые образы с dcr.deev.su, PostgreSQL в контейнере |
Образы на registry:
dcr.deev.su/deevev/lab2-backend:1.0.0dcr.deev.su/deevev/lab2-nginx:1.0.0
Запуск (любой из вариантов):
cd lab-2/local # или web_lite / web_pg
docker compose up
Перед запуском web_lite и web_pg нужен файл .env — пример в lab-2/local/.env.
Лабораторная работа 3 — Qt GUI клиент
Расположение: lab-3/
Qt6-приложение на C++ — графический клиент к REST API из Лаб-1.
Демонстрирует паттерны проектирования Singleton и Adapter.
Стек: Qt 6, C++17, QNetworkAccessManager, CMake
Паттерны:
- Singleton —
ApiClientсуществует в единственном экземпляре (Meyers' Singleton) - Adapter —
QuizJsonAdapterконвертируетQJsonObject→Quiz
5 HTTP-методов:
| Кнопка | Метод | Endpoint |
|---|---|---|
| Все тесты | GET | /api/quiz/ |
| По ID | GET | /api/quiz/:id/ |
| Создать | POST | /api/quiz/ |
| Обновить | PUT | /api/quiz/:id/ |
| Удалить | DELETE | /api/quiz/:id/ |
Сборка:
cd lab-3
cmake -B build
cmake --build build
Запуск бэкенда перед использованием:
cd lab-2/web_lite
docker compose up
Приложение подключается к http://localhost:80.