Browse code

proposal01

devnewton authored on 11/06/2017 09:22:40
Showing 2 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,166 @@
1
+# Proposal01
2
+
3
+# Norloges
4
+
5
+ONLY **Full ISO** [norloge](../ontology/norloge.md) in Paris timezone MUST be used.
6
+
7
+# Get request
8
+
9
+[Bouchots](../ontology/bouchot.md) MUST expose an HTTP endpoint for messages retrieving.
10
+
11
+This endpoint MUST accepts HTTP request using GET method.
12
+
13
+Endpoint path MUST be `/tribune/get`:
14
+
15
+## Query string parameters
16
+
17
+### since
18
+
19
+Optional last known by [coincoin](../ontology/coincoin.md) post
20
+[norloge](../ontology/norloge.md) in **Full ISO** format.
21
+
22
+### Response body
23
+
24
+[Bouchots](../ontology/bouchot.md) SHOULD produce
25
+a JSON as response body with latest posts (newer than *since* if set).
26
+
27
+```
28
+{
29
+    "posts": [
30
+        {
31
+            "msg": "plop",
32
+            "from": "dave"
33
+            "at": "2017-06-29T13:45:02.666"
34
+        }
35
+    ]
36
+}
37
+```
38
+
39
+# Post request
40
+
41
+[Bouchots](../ontology/bouchot.md) MUST expose an HTTP endpoint for posting messages.
42
+
43
+This endpoint MUST accepts HTTP request using POST method.
44
+
45
+Endpoint path MUST be `/tribune/post`:
46
+
47
+## Request body
48
+
49
+Post endpoint MUST accept following request body in JSON format:
50
+
51
+```
52
+{
53
+    "message": "plop",
54
+    "from": "dave"
55
+    "since": "2017-06-29T13:45:02.666"
56
+}
57
+```
58
+
59
+### message
60
+
61
+Mandatory message body in BML-NG format.
62
+
63
+[Bouchots](../ontology/bouchot.md) SHOULD expect error invalid BML-NG, invalid encoding
64
+ and generally shit posting from [moules](../ontology/moules.md).
65
+
66
+### from
67
+
68
+[Moule](../ontology/moules.md)'s nickname.
69
+
70
+### since
71
+
72
+Optional last known by [coincoin](../ontology/coincoin.md) post
73
+[norloge](../ontology/norloge.md) in **Full ISO** format.
74
+
75
+## Response
76
+
77
+### Response body
78
+
79
+If *since* parameters is set, [Bouchots](../ontology/bouchot.md) SHOULD produce
80
+a JSON as response body with posts newer than *since*.
81
+
82
+# BML-NG
83
+
84
+Replace [legacy BML](../legacy_bml.md) with a well defined and KISS markup
85
+language.
86
+
87
+Goals:
88
+
89
+- easy to parse.
90
+- readable as plain text.
91
+
92
+## bigorno
93
+
94
+Bigorno is way to hail someone prefix his nickname
95
+with [COMMERCIAL AT](http://www.fileformat.info/info/unicode/char/0040/index.htm):
96
+
97
+```
98
+@Dave how are you?
99
+```
100
+
101
+[Coincoins](../ontology/coincoin.md) SHOULD hail user when a [post](../ontology/post.md) is received with his bigorno.
102
+
103
+## duck
104
+
105
+User can post an ascii art left or right ducks:
106
+
107
+```
108
+\_o< \_o<   >o_/
109
+```
110
+
111
+Ducks can have the following character as head:
112
+
113
+```
114
+oO0ô°øòó@
115
+```
116
+
117
+[Coincoins](../ontology/coincoin.md) MAY use ducks in [hunt](../ontology/hunt.md).
118
+
119
+## [norloge](../ontology/norloge.md)
120
+
121
+[Coincoins](../ontology/coincoin.md) SHOULD use **Full ISO** norloges to display links or navigate between [posts](../ontology/post.md).
122
+
123
+**Only Full ISO** norloge MUST be used.
124
+
125
+**Bouchot suffix** MAY be used.
126
+
127
+**Indice suffix** MUST NOT be used.
128
+
129
+## Formatting
130
+
131
+[Markdown](https://daringfireball.net/projects/markdown/syntax) like formatting markup:
132
+
133
+```
134
+*emphasis*
135
+
136
+_underline_
137
+
138
+**strong**
139
+
140
+~~strikethrough~~
141
+
142
+`printf();`
143
+
144
+```
145
+
146
+[Coincoins](../ontology/coincoin.md) SHOULD use tags to format [posts](../ontology/post.md):
147
+
148
+*emphasis*
149
+
150
+<u>underline</u>
151
+
152
+**strong**
153
+
154
+<s>strikethrough</s>
155
+
156
+`printf();`
157
+
158
+## [totoz](../ontology/totoz.md)
159
+
160
+Reference a totoz name between /[:/ and /]/:
161
+
162
+```
163
+[:good]
164
+```
165
+
166
+[Coincoins](../ontology/coincoin.md) MAY display the referenced totoz image.
0 167
\ No newline at end of file
... ...
@@ -6,6 +6,15 @@ Norloges are references to [post](./post.md).
6 6
 
7 7
 Reference norloge by time.
8 8
 
9
+## Full ISO
10
+
11
+YYYY-MM-DDTHH:mm:ss.sss
12
+
13
+```
14
+2017-06-29T13:45:01.421 Shit!
15
+2017-06-29T13:45:02.666 What do you mean by 2017-06-29T13:45:01.421 ?
16
+```
17
+
9 18
 ## ISO
10 19
 
11 20
 yyyy-MM-dd'T'HH:mm:ss