hedgedoc/docs/content/old/dev/dev_notes.md
Philip Molares e07cd62596 docs: restructure documentation
This rewrite follows the principles of https://diataxis.fr/

Co-authored-by: Erik Michelson <github@erik.michelson.eu>
Signed-off-by: Philip Molares <philip.molares@udo.edu>
Signed-off-by: Erik Michelson <github@erik.michelson.eu>
2023-09-17 21:50:21 +02:00

1.2 KiB

Development Notes

This document collects notes and decisions taken during the development of HedgeDoc 2.0. It should be converted to a properly structured documentation, but having unstructured docs is better than having no docs.

Supported databases

We intend to officially support and test these databases:

  • SQLite (for development and smaller instances)
  • PostgreSQL
  • MariaDB

Special Groups

The software provides two special groups which have no explicit users:

  • everyone (Describing that everyone who wants to access a note can do if it is enabled in the config.)
  • loggedIn (Describing all users which are logged in)

Entity create methods

Because we need to have empty constructors in our entity classes for TypeORM to work, the actual constructor is a separate create method. These methods should adhere to these guidelines:

  • Only require the non-optional properties of the corresponding entity
  • Have no optional parameters
  • Have no lists which can be empty (so probably most of them)
  • Should either return a complete and fully useable instance or return a Pick/Omit type.
  • Exceptions to these rules are allowed, if they are mentioned in the method documentation