microfed 0.0.8 → 0.0.10
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/CORE.md +10 -10
- package/DESIGN.md +23 -13
- package/README.md +6 -0
- package/package.json +1 -1
package/CORE.md
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
# Microfed Core
|
|
1
|
+
# 🧩 Microfed Core
|
|
2
2
|
|
|
3
3
|
Microfed Core is the central module that manages communication between different components of the Microfed framework and provides utility functions. This document outlines the core design of Microfed Core, focusing on its integration with ActivityPub.
|
|
4
4
|
|
|
5
5
|
## Table of Contents
|
|
6
6
|
|
|
7
|
-
- [Core Components](#core-components)
|
|
8
|
-
- [ActivityPub Integration](#activitypub-integration)
|
|
9
|
-
- [API Interface](#api-interface)
|
|
10
|
-
- [Error Handling and Logging](#error-handling-and-logging)
|
|
7
|
+
- [🔧 Core Components](#core-components)
|
|
8
|
+
- [🌐 ActivityPub Integration](#activitypub-integration)
|
|
9
|
+
- [🗄️ API Interface](#api-interface)
|
|
10
|
+
- [🔍 Error Handling and Logging](#error-handling-and-logging)
|
|
11
11
|
|
|
12
|
-
## Core Components
|
|
12
|
+
## 🔧 Core Components
|
|
13
13
|
|
|
14
14
|
Microfed Core comprises the following components:
|
|
15
15
|
|
|
@@ -18,7 +18,7 @@ Microfed Core comprises the following components:
|
|
|
18
18
|
3. **ActivityPub Adapter**: Provides a set of utility functions and classes to interact with ActivityPub, parse and serialize data, and manage ActivityPub objects.
|
|
19
19
|
4. **Networking**: Handles networking tasks, such as HTTP requests, WebSocket connections, and peer-to-peer communication.
|
|
20
20
|
|
|
21
|
-
## ActivityPub Integration
|
|
21
|
+
## 🌐 ActivityPub Integration
|
|
22
22
|
|
|
23
23
|
Microfed Core integrates with ActivityPub using the ActivityPub Adapter component. The adapter offers the following functionality:
|
|
24
24
|
|
|
@@ -27,7 +27,7 @@ Microfed Core integrates with ActivityPub using the ActivityPub Adapter componen
|
|
|
27
27
|
3. **Activity Handling**: Implements methods for processing incoming and outgoing activities, such as Create, Update, Delete, Follow, and Like, according to the ActivityPub specification.
|
|
28
28
|
4. **ActivityPub API**: Offers an API for interacting with ActivityPub services, such as fetching and updating Actor profiles, sending activities, and managing followers and following collections.
|
|
29
29
|
|
|
30
|
-
## API Interface
|
|
30
|
+
## 🗄️ API Interface
|
|
31
31
|
|
|
32
32
|
Microfed Core exposes a simple and intuitive API interface for developers to interact with the framework and its modules. The API includes methods for:
|
|
33
33
|
|
|
@@ -35,7 +35,7 @@ Microfed Core exposes a simple and intuitive API interface for developers to int
|
|
|
35
35
|
2. **ActivityPub Interaction**: Sending and receiving ActivityPub activities, managing Actor profiles, and handling collections.
|
|
36
36
|
3. **Utility Functions**: Accessing common utility functions, such as data validation, conversion, and formatting.
|
|
37
37
|
|
|
38
|
-
## Error Handling and Logging
|
|
38
|
+
## 🔍 Error Handling and Logging
|
|
39
39
|
|
|
40
40
|
Microfed Core provides a robust error handling and logging system to ensure that any issues or errors are properly reported and logged. This system includes:
|
|
41
41
|
|
|
@@ -45,4 +45,4 @@ Microfed Core provides a robust error handling and logging system to ensure that
|
|
|
45
45
|
|
|
46
46
|
---
|
|
47
47
|
|
|
48
|
-
Microfed Core is the backbone of the Microfed framework, providing seamless integration with ActivityPub and managing communication between its components. By handling the core functionality, Microfed Core allows developers to focus on building innovative and decentralized applications that leverage the power of microservices and the fediverse.
|
|
48
|
+
Microfed Core is the backbone of the Microfed framework, providing seamless integration with ActivityPub and managing communication between its components. By handling the core functionality, Microfed Core allows developers to focus on building innovative and decentralized applications that leverage the power of microservices and the fediverse.
|
package/DESIGN.md
CHANGED
|
@@ -17,18 +17,20 @@ This document provides a high-level overview of Microfed's design, outlining the
|
|
|
17
17
|
|
|
18
18
|
## Table of Contents
|
|
19
19
|
|
|
20
|
-
- [Microfed Core](#microfed-core)
|
|
21
|
-
- [Profile Module](#profile-module)
|
|
22
|
-
- [Inbox Module](#inbox-module)
|
|
23
|
-
- [Outbox Module](#outbox-module)
|
|
24
|
-
- [Authentication Module](#authentication-module)
|
|
25
|
-
- [Utility Functions](#utility-functions)
|
|
20
|
+
- [🧩 Microfed Core](#microfed-core)
|
|
21
|
+
- [👥 Profile Module](#profile-module)
|
|
22
|
+
- [📥 Inbox Module](#inbox-module)
|
|
23
|
+
- [📤 Outbox Module](#outbox-module)
|
|
24
|
+
- [🔐 Authentication Module](#authentication-module)
|
|
25
|
+
- [🛠️ Utility Functions](#utility-functions)
|
|
26
26
|
|
|
27
|
-
## Microfed Core
|
|
27
|
+
## 🧩 Microfed Core
|
|
28
28
|
|
|
29
29
|
The Microfed Core serves as the central module that manages communication between different components and provides utility functions.
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
[Core Design](./CORE.md)
|
|
32
|
+
|
|
33
|
+
## 👥 Profile Module
|
|
32
34
|
|
|
33
35
|
The Profile Module consists of the following features:
|
|
34
36
|
|
|
@@ -39,7 +41,7 @@ The Profile Module consists of the following features:
|
|
|
39
41
|
|
|
40
42
|
[Profile Design](./PROFILE.md)
|
|
41
43
|
|
|
42
|
-
## Inbox Module
|
|
44
|
+
## 📥 Inbox Module
|
|
43
45
|
|
|
44
46
|
The Inbox Module is designed to offer the following functionality:
|
|
45
47
|
|
|
@@ -47,7 +49,9 @@ The Inbox Module is designed to offer the following functionality:
|
|
|
47
49
|
- Methods for filtering messages based on user preferences.
|
|
48
50
|
- Support for Activity Pub JSON compatibility and message signatures.
|
|
49
51
|
|
|
50
|
-
|
|
52
|
+
[Inbox Design](./INBOX.md)
|
|
53
|
+
|
|
54
|
+
## 📤 Outbox Module
|
|
51
55
|
|
|
52
56
|
The Outbox Module includes the following capabilities:
|
|
53
57
|
|
|
@@ -55,7 +59,9 @@ The Outbox Module includes the following capabilities:
|
|
|
55
59
|
- Methods for storing private keys and signing outgoing messages.
|
|
56
60
|
- Support for routing messages to appropriate endpoints.
|
|
57
61
|
|
|
58
|
-
|
|
62
|
+
[Outbox Design](./OUTBOX.md)
|
|
63
|
+
|
|
64
|
+
## 🔐 Authentication Module
|
|
59
65
|
|
|
60
66
|
The Authentication Module provides a flexible and extensible authentication system:
|
|
61
67
|
|
|
@@ -64,10 +70,14 @@ The Authentication Module provides a flexible and extensible authentication syst
|
|
|
64
70
|
- Support for delegated authentication (e.g., OAuth, OIDC) if needed.
|
|
65
71
|
- Integration with enterprise authentication systems.
|
|
66
72
|
|
|
67
|
-
|
|
73
|
+
[Authentication Design](./AUTHENTICATION.md)
|
|
74
|
+
|
|
75
|
+
## 🛠️ Utility Functions
|
|
68
76
|
|
|
69
77
|
The Utility Functions module offers various general-purpose functions, such as data validation, conversion, and formatting.
|
|
70
78
|
|
|
79
|
+
[Utility Design](./UTILS.md)
|
|
80
|
+
|
|
71
81
|
---
|
|
72
82
|
|
|
73
|
-
With its modular and extensible design, Microfed provides a robust and flexible foundation for developing decentralized applications that harness the power of microservices and the fediverse. By combining these technologies, Microfed empowers developers to create innovative, secure, and scalable applications for the decentralized web.
|
|
83
|
+
With its modular and extensible design, Microfed provides a robust and flexible foundation for developing decentralized applications that harness the power of microservices and the fediverse. By combining these technologies, Microfed empowers developers to create innovative, secure, and scalable applications for the decentralized web.
|
package/README.md
CHANGED
|
@@ -63,14 +63,20 @@ The Profile can be self-hosted, or part of a multi user service. It should be a
|
|
|
63
63
|
|
|
64
64
|
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.
|
|
65
65
|
|
|
66
|
+
[Inbox Design](./INBOX.md)
|
|
67
|
+
|
|
66
68
|
# 📤 Outbox
|
|
67
69
|
|
|
68
70
|
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.
|
|
69
71
|
|
|
72
|
+
[Outbox Design](./OUTBOX.md)
|
|
73
|
+
|
|
70
74
|
# 🔐 Authentication
|
|
71
75
|
|
|
72
76
|
Initially, strong authentication via PKI will be supported. Delegated authentication, 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.
|
|
73
77
|
|
|
78
|
+
[Authentication Design](./AUTHENTICATION.md)
|
|
79
|
+
|
|
74
80
|
# ⚖️ License
|
|
75
81
|
|
|
76
82
|
- MIT
|