From 4b5bc6a0ff9487047ee9650b83fcd60d386607db Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=86=B0=E7=B3=96=E9=9B=AA=E7=8B=B8?=
Date: Thu, 18 Apr 2024 21:31:39 +0300
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20README=20=E4=B8=AD?=
=?UTF-8?q?=E5=9B=BE=E5=83=8F=E5=8A=A0=E8=BD=BD=E8=B7=AF=E5=BE=84=E9=94=99?=
=?UTF-8?q?=E8=AF=AF=E7=9A=84=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
App/tcpserver.cpp | 2 --
README.md | 54 +++++++++++++++++++++++++++++++----------
doc/README_CN.md | 44 +++++++++++++++++++++++++++++++++-
doc/README_RU.md | 61 +++++++++++++++++++++++++++++++++++++----------
4 files changed, 133 insertions(+), 28 deletions(-)
diff --git a/App/tcpserver.cpp b/App/tcpserver.cpp
index 5a81686..d718c85 100644
--- a/App/tcpserver.cpp
+++ b/App/tcpserver.cpp
@@ -152,8 +152,6 @@ void TcpServer::sendData()
lenPackage = tcpSocket->write(buf, lenPackage); // 发送数据,读多少,发多少
this->bytesAlreadySend += lenPackage; // 发送的数据需要累积
-
-
} while (lenPackage > 0);
if (this->bytesAlreadySend == this->fileSize)
diff --git a/README.md b/README.md
index d04b8ec..538407c 100644
--- a/README.md
+++ b/README.md
@@ -9,10 +9,6 @@
-
-
-
-
@@ -24,7 +20,41 @@
-[toc]
+
+- [Requirements](#requirements)
+ - [System Requirements](#system-requirements)
+ - [Technical Requirements](#technical-requirements)
+- [Functional Specifications](#functional-specifications)
+- [HLD](#hld)
+ - [User Interface Design](#user-interface-design)
+ - [Login](#login)
+ - [User List Interface](#user-list-interface)
+ - [Chat Widget](#chat-widget)
+ - [Software Architecture](#software-architecture)
+ - [Class Diagram](#class-diagram)
+ - [UDP Group Chat and Chat List](#udp-group-chat-and-chat-list)
+ - [UDP Communication Protocol](#udp-communication-protocol)
+ - [Server](#server)
+ - [Client](#client)
+ - [TCP File Transfer Section](#tcp-file-transfer-section)
+ - [TCP Communication Protocol](#tcp-communication-protocol)
+ - [Sender](#sender)
+ - [Receiver](#receiver)
+ - [Data flow](#data-flow)
+- [Test](#test)
+ - [Explanation](#explanation)
+ - [Expanding Test Suites](#expanding-test-suites)
+ - [Unit (Module) Testing](#unit-module-testing)
+ - [Integration (Interface) Testing](#integration-interface-testing)
+ - [System/End-to-End and Other Tests](#systemend-to-end-and-other-tests)
+ - [Other Tests](#other-tests)
+ - [Local Test Results](#local-test-results)
+- [CI/CD](#cicd)
+ - [CI (Continuous Integration)](#ci-continuous-integration)
+ - [CD (Continuous Deployment)](#cd-continuous-deployment)
+ - [Code](#code)
+ - [MacOS](#macos)
+ - [Windows](#windows)
# Requirements
@@ -516,7 +546,7 @@ void PolyChatTester::mt_chatbox_save_empty()
**GitHub Results:**
-![image-20230219131232852](pic/image-20230316204636445.png)
+![image-20230219131232852](doc/pic/image-20230316204636445.png)
## Other Tests
@@ -559,7 +589,7 @@ void PolyChatTester::mt_chatbox_save_empty()
Test environment: MacBook Pro with macOS 14 and Apple M1 Pro chip
-![image-20231024155247741](pic/image-20231024155247741.png)
+![image-20231024155247741](doc/pic/image-20231024155247741.png)
@@ -647,11 +677,11 @@ CI/CD is built through Github Actions. The CI/CD process is divided into two par
- Packaging: Package the application as a dmg/zip file.
- Upload Artifacts: Upload the generated files as CI artifacts.
-![iShot_2023-10-24_16.07.04](pic/iShot_2023-10-24_16.07.04.jpg)
+![iShot_2023-10-24_16.07.04](doc/pic/iShot_2023-10-24_16.07.04.jpg)
-![image-20231024164656277](pic/image-20231024164656277.png)
+![image-20231024164656277](doc/pic/image-20231024164656277.png)
-![image-20231024160959353](pic/image-20231024160959353.png)
+![image-20231024160959353](doc/pic/image-20231024160959353.png)
## CD (Continuous Deployment)
@@ -667,9 +697,9 @@ This process automates the build, testing, packaging, and deployment of the appl
As shown in the figure below, the application has been successfully packaged and published on MacOS and Windows.
-![image-20231024165220391](pic/image-20231024165220391.png)
+![image-20231024165220391](doc/pic/image-20231024165220391.png)
-![image-20231024170159500](pic/image-20231024170159500.png)
+![image-20231024170159500](doc/pic/image-20231024170159500.png)
## Code
diff --git a/doc/README_CN.md b/doc/README_CN.md
index a09cb49..f8f3d5a 100644
--- a/doc/README_CN.md
+++ b/doc/README_CN.md
@@ -36,7 +36,49 @@
-[toc]
+
+> **如果你想系统的学习 Qt,可以参考这个仓库:**
+>
+> 关于 [Qt 无比详细教程及案例实现](https://github.com/NekoSilverFox/Qt):https://github.com/NekoSilverFox/Qt 其中不仅涵盖了 Qt 基本控件的使用及讲解,还包含了大学和培训机构不会讲到的:插件设计及实现、基于 QTest 的静态动态、动态测试、CI/CD的使用、Qt 函数/方法注意事项等
+
+
+
+
+- [需求](#需求)
+ - [系统需求](#系统需求)
+ - [技术性需求](#技术性需求)
+- [功能规范](#功能规范)
+- [HLD](#hld)
+ - [界面设计](#界面设计)
+ - [登录](#登录)
+ - [用户列表界面](#用户列表界面)
+ - [聊天窗口](#聊天窗口)
+ - [软件架构](#软件架构)
+ - [类图](#类图)
+ - [UDP 群聊部分与群组列表](#udp-群聊部分与群组列表)
+ - [UDP 通讯协议](#udp-通讯协议)
+ - [服务器](#服务器)
+ - [客户端](#客户端)
+ - [TCP文件传输部分](#tcp文件传输部分)
+ - [TCP通讯协议](#tcp通讯协议)
+ - [发送端](#发送端)
+ - [接收端](#接收端)
+ - [数据流](#数据流)
+- [测试](#测试)
+ - [说明](#说明)
+ - [扩展测试套件的程序](#扩展测试套件的程序)
+ - [单元(模块)测试](#单元模块测试)
+ - [集成(接口)测试](#集成接口测试)
+ - [系统/端到端和其他测试](#系统端到端和其他测试)
+ - [其他测试](#其他测试)
+ - [在本地的测试结果](#在本地的测试结果)
+- [CI/CD](#cicd)
+ - [CI(持续集成)](#ci持续集成)
+ - [CD(持续交付)](#cd持续交付)
+ - [代码](#代码)
+ - [MacOS](#macos)
+ - [Windows](#windows)
+
# 需求
diff --git a/doc/README_RU.md b/doc/README_RU.md
index e933862..aa5d73b 100644
--- a/doc/README_RU.md
+++ b/doc/README_RU.md
@@ -24,7 +24,42 @@
Содержание
-[toc]
+
+- [Требования](#требования)
+ - [Системные требования](#системные-требования)
+ - [Технические требования](#технические-требования)
+- [Функциональная спецификация](#функциональная-спецификация)
+- [HLD](#hld)
+ - [Дизайн GUI](#дизайн-gui)
+ - [Окно авторизации](#окно-авторизации)
+ - [Окно списка групповых чатов](#окно-списка-групповых-чатов)
+ - [Окно чата](#окно-чата)
+ - [Архитектура](#архитектура)
+ - [Диаграмма классов](#диаграмма-классов)
+ - [Раздел группового чата UDP и список групп](#раздел-группового-чата-udp-и-список-групп)
+ - [Собственный протокол взаимодействия UDP](#собственный-протокол-взаимодействия-udp)
+ - [Сервер](#сервер)
+ - [Клиент](#клиент)
+ - [Секция передачи файлов TCP](#секция-передачи-файлов-tcp)
+ - [Собственный протокол взаимодействия TCP](#собственный-протокол-взаимодействия-tcp)
+ - [Сторона отправителя](#сторона-отправителя)
+ - [Сторона получателя](#сторона-получателя)
+ - [Потоки данных](#потоки-данных)
+- [Тестирование](#тестирование)
+ - [Описание](#описание)
+ - [Процедура расширения тестового набора](#процедура-расширения-тестового-набора)
+ - [Модульное тестирование](#модульное-тестирование)
+ - [Интеграционное тестирование](#интеграционное-тестирование)
+ - [Системное/End-to-End тестирование](#системноеend-to-end-тестирование)
+ - [Другое тестирование](#другое-тестирование)
+ - [Результаты локального тестирования](#результаты-локального-тестирования)
+- [CI/CD](#cicd)
+ - [CI (Непрерывная интеграция)](#ci-непрерывная-интеграция)
+ - [CD (непрерывная доставка)](#cd-непрерывная-доставка)
+ - [Код](#код)
+ - [MacOS](#macos)
+ - [Windows](#windows)
+
# Требования
@@ -412,7 +447,7 @@ K. Простота расширения: определяемые пользо
**Результаты прохождения тестов и оценка покрытия кода тестами:**
-
+
@@ -498,7 +533,7 @@ K. Простота расширения: определяемые пользо
**Результаты интеграционного тестирования:**
-![image-20230316201833405](doc/pic/image-20230316201833405.png)
+![image-20230316201833405](pic/image-20230316201833405.png)
@@ -521,7 +556,7 @@ K. Простота расширения: определяемые пользо
**Результаты E2E тестирования на GitHub:**
-![image-20230316204636445](doc/pic/image-20230316204636445.png)
+![image-20230316204636445](pic/image-20230316204636445.png)
@@ -563,15 +598,15 @@ K. Простота расширения: определяемые пользо
**Результаты всех тестов:**
-![image-20230316204255954](doc/pic/image-20230316204255954.png)
+![image-20230316204255954](pic/image-20230316204255954.png)
-![image-20230316221004870](doc/pic/image-20230316221004870.png)
+![image-20230316221004870](pic/image-20230316221004870.png)
## Результаты локального тестирования
Тестирование проводилось на MacBook Pro (чип Apple M1 Pro) с установленной операционной системой MacOS 14.
-![image-20231024155247741](doc/pic/image-20231024155247741.png)
+![image-20231024155247741](pic/image-20231024155247741.png)
# CI/CD
@@ -675,11 +710,11 @@ CI/CD строится через Github Action. Данный процесс CI/
-![iShot_2023-10-24_16.07.04](doc/pic/iShot_2023-10-24_16.07.04.jpg)
+![iShot_2023-10-24_16.07.04](pic/iShot_2023-10-24_16.07.04.jpg)
-![image-20231024164656277](doc/pic/image-20231024164656277.png)
+![image-20231024164656277](pic/image-20231024164656277.png)
-![image-20231024160959353](doc/pic/image-20231024160959353.png)
+![image-20231024160959353](pic/image-20231024160959353.png)
## CD (непрерывная доставка)
@@ -840,11 +875,11 @@ CI/CD строится через Github Action. Данный процесс CI/
Как видно на изображении ниже, приложение было успешно упаковано и опубликовано как на MacOS, так и на Windows.
-![image-20231024165220391](doc/pic/image-20231024165220391.png)
+![image-20231024165220391](pic/image-20231024165220391.png)
-![image-20231024170159500](doc/pic/image-20231024170159500.png)
+![image-20231024170159500](pic/image-20231024170159500.png)
-![image-20231025141122572](doc/pic/image-20231025141122572.png)
+![image-20231025141122572](pic/image-20231025141122572.png)
## Код