Code Documentation
This is the documentation for the source code of this project. Autogenerated from XML comments in the source code using DocFX.
In this documentation you will find information about the structure of the code, the namespaces and the classes.
Table of contents
Solution structure
This dotnet solution is composed of 3 CS-projects:
- 2 projects for entities that are compiled into executables.
UdpChat.Client
- The client application.UdpChat.Server
- The server application.
- 1 project for the shared code between client and server.
UdpChat.Lib
- The shared code between the client and the server.
Namespace structure
This solution uses namespaces to separate the each CS-project's code. See the Available namespaces section for more information.
Available namespaces
- Client : Client logic.
- Client.CLI : CLI logic. Client entry point.
- Server : Server logic.
- Server.CLI : CLI logic. Server entry point.
- Server.Exceptions : Exceptions used by the server.
- Lib : Shared code between the client and the server. All Serializable classes represent the payloads being sent between user and server. This works by transforming the class into a JSON and the serializing that JSON. As it is a JSON it can be sent over the network, recieved, deserialized and transformed back into a class representing the payload.
- Lib.ChatUser : Serialiable class representing a client as a user.
- Lib.Message : Serializable class representing a message.
- Lib.Authentication : Serialiable Authentication classes representing an Auth request and response.
Project ULM class diagram
Click on the image to open in a new tab. It's an SVG so you can zoom in and out and it will look well.
How to generate the documentation
- Install DocFX. See here for more information.
- (Optional) Install wkhtmltopdf for PDF generation.
- Run
docfx metadata docfx_project/docfx.json && docfx build docfx_project/docfx.json
from the root of the repository.- (Optional) Run
docfx metadata docfx_project/docfx.json && docfx pdf docfx_project/docfx.json
to generate a PDF version of the documentation.
- (Optional) Run
- The generated documentation will be in the
docfx_project/
folder, more specifically:docfx_project/_site/
for the HTML documentation.docfx_project/_site_pdf/
for the PDF version of the documentation.