Added architecture description.
This commit is contained in:
parent
3a8db3fbc4
commit
89c865c294
|
@ -0,0 +1,6 @@
|
|||
[submodule "lemon_board"]
|
||||
path = lemon_board
|
||||
url = https://tildegit.org/wael/lemon_board.git
|
||||
[submodule "C_lib"]
|
||||
path = C_lib
|
||||
url = https://tildegit.org/wael/C_lib.git
|
|
@ -0,0 +1 @@
|
|||
Subproject commit d3562af7ead5c54ae402b000479de0ad4d3f377b
|
|
@ -0,0 +1,21 @@
|
|||
This file includes a high-level description of the program's structure:
|
||||
|
||||
Frontend and backened are to be separated, this should allow for multiple front-end implementations such as generating output in:
|
||||
text/html, text/gemini, application/xhtml+xml, text/xml, gopher and even plaintext.
|
||||
|
||||
Backend gets post data from a database, and formulates it into a "thread":
|
||||
A thread consists of an Original Post by an Oririnal Poster (OP).
|
||||
With subsequent replies sequentially following the OP.
|
||||
Each post has a unique (monotonically strictly increasing) ID.
|
||||
And ID numbers are determined per-board.
|
||||
Thus, IDs can be used to cross-reference posts.
|
||||
|
||||
Each board consists of a number of OPs.
|
||||
With the order being of how "fresh" the replies are:
|
||||
The thread with the latest reply is the top thread and the order goes in a decreasing manner according to the thread's latest reply time.
|
||||
For lack of confusion, seconds from the Unix Epoch shall be used to track time.
|
||||
|
||||
Front-ends shall query the backend for the relevant board and thread structs and then synthesize their output.
|
||||
Front-ends that support posting shall also pass the data along to the back-end:
|
||||
If there is a new thread, then a thread struct gets passed.
|
||||
If there is a new post in a thread, then a post struct gets passed.
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 3a8db3fbc4fa3d9858501e7d100a5f508f56a60e
|
Loading…
Reference in New Issue