Wiki source code of Technical Architecture

Last modified by Manuel Leduc on 2023/10/16 11:17

Show last authors
1 The technical architecture of the software is very important as it will drive how it can be developed, extended and the general behavior. The technologies (language, framework) that are used will also drive the usability, the user experience, as well as the accessibility support or the security.
2
3 During the [[brainstormings>>doc:Proposal.Cristal.Brainstorming July 2022.WebHome]], there are some discussion about the technical architecture. The goal of this document is to summarize that and precise the architecture.
4
5
6 {{diagram/}}
7
8
9 == Key Technical requirements ==
10
11 * Strong development methodology
12 ** API based development
13 ** Modularity
14 ** Test-driven development
15 ** Accessibility by design
16 ** Security by design
17 * Great UX
18 * Supporting Modularity & Extensions and overriding of features, including UI elements
19 ** Support UIX, Skining, Theming
20 ** Dynamic loading of extensions
21 * Reduce dependency on non standard Framework
22 ** Making sure to isolate dependencies
23 ** Using standards as much as possible
24 * Embeddable
25 ** We can use different backends (even when it means having less features)
26 ** Unsupported features can be disabled automatically
27 * Realtime by design
28 ** Supporting cryptpad's realtime too
29 * No-JS Fallback (at least for viewing)
30 * Provide a compatibility path with XWiki
31
32

Get Connected