Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add the technical and comparative study #6

Open
charlesmadjeri opened this issue Sep 16, 2024 · 0 comments
Open

Add the technical and comparative study #6

charlesmadjeri opened this issue Sep 16, 2024 · 0 comments
Assignees

Comments

@charlesmadjeri
Copy link
Contributor

charlesmadjeri commented Sep 16, 2024

You are expected to explain the relevance of using the various technologies you are employing (programming language, graphics library, algorithms, networking techniques, etc. . . ).

A good approach is to conduct a comparative study of the technologies to justify each of your choices, in particular based on the different axes below:

Algorithms and Data Structures: you should be able to explain your selection of existing algorithms, design patterns, and data structures for the project, as well as your selection of new and custom-designed algorithms, and why you needed to develop those.

Storage: a study of different storage techniques should be included in your comparative study, regarding persistence, reliability, and storage constraints.

Security: security and data integrity must be managed and secured effectively.
In your comparative study, it might be relevant to consider the main vulnerabilities of each technology.
Also, explain how you implemented the security monitoring of those technologies, in the long term.

The documentation have to be available and accessible in a modern way.

Documents such as PDF or .docx are not really how documentation is delivered nowadays. It is more practical to read documentation by navigating online through a set of properly interlinked structured pages, with a quick-access outline somewhere, a useful search bar, and content indexed by search engines.

Documentation generator tools are designed for this, allowing to generate a static website from source documentation files. Online Wikis are also an interesting alternative geared toward collaborative work.
Examples: markdown, reStructuredText, Sphinx, Gitbook, Doxygen, Wikis, etc.
There is many possibilities nowadays, making legacy documents definitively obsolete.

Protocol documentation

This project is a network game: as such, the communication protocol is a critical part of the system. Documentation of the network protocol shall describe the various commands and packets sent over the network between the server and the client. Someone SHOULD be able to write a new client for your server, just by reading the protocol documentation.
Communication protocols are usually more formal than usual developer documentation, and classical documents are acceptable for this purpose. Writing an RFC is a good idea.

@Mael-RABOT Mael-RABOT added this to the Sprint 4 / MVP milestone Oct 9, 2024
@charlesmadjeri charlesmadjeri self-assigned this Oct 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants