microfed 0.0.1 → 0.0.5

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.
package/README.md CHANGED
@@ -1,2 +1,67 @@
1
- # microfed.org
2
- microfed.org
1
+ <div align="center">
2
+ <img src="https://microfed.org/images/microfed.jpg" />
3
+ <h1><a href="https://microfed.org/">Microfed</a></h1>
4
+ </div>
5
+
6
+ <div align="center">
7
+ <i>Micro Services Meets the Fediverse</i>
8
+ </div>
9
+
10
+ ---
11
+
12
+ <div align="center">
13
+ <h4>Documentation</h4>
14
+ </div>
15
+
16
+ ---
17
+
18
+ [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/micro-fed/microfed.org/blob/gh-pages/LICENSE)
19
+ [![npm](https://img.shields.io/npm/v/microfed)](https://npmjs.com/package/microfed)
20
+ [![npm](https://img.shields.io/npm/dw/microfed.svg)](https://npmjs.com/package/microfed)
21
+ [![Github Stars](https://img.shields.io/github/stars/micro-fed/microfed.org.svg)](https://github.com/micro-fed/microfed.org/)
22
+
23
+ # ⚡️ Introduction
24
+
25
+ Tthis project is still at concept stage and aims to brain storm the intersection of [micro servcies](https://en.wikipedia.org/wiki/Microservices) and the [fediverse](https://en.wikipedia.org/wiki/Fediverse).
26
+
27
+ The idea is that each component of a fediverse server can be composed from smaller services.
28
+
29
+ These include:
30
+ - [Profile](#Profile)
31
+ - [Inbox](#Inbox)
32
+ - [Outbox](#Outbox)
33
+ - [Authentication](#Authentication)
34
+
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
+ &nbsp;&nbsp;✓&nbsp;The profile page
42
+ &nbsp;&nbsp;✓&nbsp;The User / Actor / Agent
43
+ &nbsp;&nbsp;✓&nbsp;Attributes about the User
44
+ &nbsp;&nbsp;✓&nbsp;Ability to store a public key
45
+ &nbsp;&nbsp;✓&nbsp;A list of connections (friends, knows, followers etc.)
46
+ &nbsp;&nbsp;✓&nbsp;Endpoint for inbox
47
+ &nbsp;&nbsp;✓&nbsp;Endpoint for outbox
48
+ &nbsp;&nbsp;✓&nbsp;Authentictation endpoints
49
+ &nbsp;&nbsp;✓&nbsp;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
66
+
67
+ - MIT
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "microfed",
3
- "version": "0.0.1",
3
+ "version": "0.0.5",
4
4
  "description": "microfed",
5
5
  "main": "index.js",
6
6
  "scripts": {