Repository navigation
Home
Codex edited this page Oct 7, 2026
·
4 revisions
Клиент-серверное приложение на C++/Qt: сервер с аккаунтами, ролями (user / moderator / admin) и практическими заданиями по математике и алгоритмам со статистикой правильных ответов.
- Голь Фёдор (251-952) — task2 (метод Ньютона, вариант №6), оконный клиент, модульные тесты Task2, стратегия тестирования и тест-кейсы
- Корнеев Алексей — базовый сервер: аккаунты, роли, статистика, task1 (сравнение методов интегрирования)
- Степан — task3 (метод половинного деления, вариант №3), Docker, Doxygen, UseCase и диаграммы классов, тесты Task3
- C++11, Qt 6 (Core, Network, Sql)
-
SQLite — хранение пользователей и статистики (
QSqlDatabase, драйверQSQLITE) - Протокол поверх сырого TCP (порт
33333), без готовых HTTP/JSON-библиотек — команды в виде текстовых строк -
Docker / docker compose — контейнеризация сервера (инструкция:
documentation/Docker.md) -
Doxygen — документация по коду (
documentation/Doxygen.md, готовый HTML вdocumentation/doxygen/html/index.html)
| Файл | Назначение |
|---|---|
main.cpp |
Точка входа, запуск сервера |
mytcpserver.h/.cpp |
Приём подключений, разбор входящих сообщений, диспетчеризация команд |
server_functions.h/.cpp |
Обработка каждой команды (processCommand, cmd_*) |
databasemanager.h/.cpp |
Работа с SQLite — пользователи, роли, статистика |
task1.h/.cpp … task4.h/.cpp
|
Генерация заданий — один файл на один вариант |
tests/ |
Модульные тесты Task2 и Task3 (QtTest) |
client/ |
Оконный клиент (Qt Widgets): кнопки вместо PuTTY |
documentation/ |
Отчётные материалы: Docker, Doxygen, UseCase, диаграммы классов |
StAlGoLM.pro |
Сборочный файл Qt (qmake) |
- Протокол команд сервера — что можно отправить серверу и что он ответит
- Архитектура — как файлы связаны друг с другом и куда идёт запрос
- Task2 — метод Ньютона — задание Фёдора отдельно
- Task3 — метод половинного деления — задание Степана
- Структура Git — ветки, схема и история репозитория
- Клиент — оконный клиент (кнопки вместо PuTTY)
- Известные проблемы — найденные и исправленные баги
qmake StAlGoLM.pro
make
./StAlGoLMПроверить вручную — PuTTY, тип соединения Raw, хост localhost, порт 33333.
- Диаграммы-классов — новые диаграммы клиента и сервера (draw.io), описание архитектуры.
- UseCase — диаграмма вариантов использования, акторы и команды.
- Юнит-тесты — QtTest для Task2 и Task3, исходники и команды запуска.
- Тест-кейсы — ручные сценарии, ожидаемые результаты и таблицы проекта.