microfed 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +39 -9
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,16 +1,16 @@
1
1
  <div align="center">
2
- <img src="./images/microfed.jpg" />
2
+ <img src="https://microfed.org/images/microfed.jpg" />
3
3
  <h1><a href="https://microfed.org/">Microfed</a></h1>
4
4
  </div>
5
5
 
6
6
  <div align="center">
7
- Micro Services Meets the Fediverse
7
+ <i>Micro Services Meets the Fediverse</i>
8
8
  </div>
9
9
 
10
10
  ---
11
11
 
12
12
  <div align="center">
13
- <h4>Getting Started</h4>
13
+ <h4>Documentation</h4>
14
14
  </div>
15
15
 
16
16
  ---
@@ -20,18 +20,48 @@ Micro Services Meets the Fediverse
20
20
  [![npm](https://img.shields.io/npm/dw/microfed.svg)](https://npmjs.com/package/microfed)
21
21
  [![Github Stars](https://img.shields.io/github/stars/micro-fed/microfed.org.svg)](https://github.com/micro-fed/microfed.org/)
22
22
 
23
- ## Introduction
23
+ # Introduction
24
24
 
25
25
  Tthis project is still at concept stage and aims to brain storm the intersection of micro servcies and the fediverse
26
26
 
27
27
  The idea is that each component of a fediverse server can be composed from smaller services
28
28
 
29
29
  These include:
30
- - Profile
31
- - Authentication
32
- - Inbox
33
- - Outbox
30
+ - [Profile](#Profile)
31
+ - [Inbox](#Inbox)
32
+ - [Outbox](#Outbox)
33
+ - [Authentication](#Authentication)
34
34
 
35
- ## License
35
+ # Profile
36
+
37
+ Your profile page is the starting point for microfed services. It will generally be an HTTP page, but the data should be agnostic to HTTP or any other protocol so that it can live in a database, or run over a P2P network.
38
+
39
+ The profile will be in HTML, with the data in in JSON(-LD). It will contain:
40
+
41
+ - The profile page
42
+ - The User / Actor / Agent
43
+ - Attributes about the User
44
+ - Ability to store a public key
45
+ - A list of connections (friends, knows, followers etc.)
46
+ - Endpoint for inbox
47
+ - Endpoint for outbox
48
+ - Authentictation endpoints
49
+ - Arbitrary fields specified by the user
50
+
51
+ The Profile can be self hosted, or part of a multi user service. It should be able to run on a mobile device, or in the browser.
52
+
53
+ # Inbox
54
+
55
+ The Inbox should be a place where people can send messages in JSON. The micro service can filter out messages based on user preferences. The message format should be as far as possible compatible with Activity Pub JSON. Signatures can be used to verify the authenticity of a message
56
+
57
+ # Outbox
58
+
59
+ The outbox is a service that allows messages to be sent to other inboxes. It should also have to ability to store a private key on behalf of a user, in order to sign outgoing messages. It should be able to route messages to the right endpoints.
60
+
61
+ # Authentication
62
+
63
+ Initially, strong authentication via PKI will be supported. Delegated authenticaiton, such as OAuth and OIDC may be considered desirable. A loosely coupled authentication suite will allow the user to add different authentication modules. This could also work with enterprise authentication.
64
+
65
+ # License
36
66
 
37
67
  - MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "microfed",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "microfed",
5
5
  "main": "index.js",
6
6
  "scripts": {