ProjectLibertyLabs / gateway

Frequency Developer Gateway to interface with DSNP over Frequency
https://projectlibertylabs.github.io/gateway/
Apache License 2.0
4 stars 1 forks source link

Service Integration Diagram for Social Web Demo #4

Closed p5150j closed 7 months ago

p5150j commented 8 months ago

Task: Service Integration Diagram for Social Web Demo

Objective: Create a comprehensive diagram illustrating the integration between existing services and the social web demo components. This diagram should clearly delineate which services interact with specific parts of the social web demo, including both the backend and frontend components.

Resources:

Steps:

  1. Review Prototypes: Examine the current implementations of the gateway template app backend and frontend. Identify functionalities that are candidates for service-based replacements.
  2. Identify Integrations: For each part of the social web demo (e.g., content posting, feed display, auth etc), determine which existing service (if any) should replace or enhance its functionality. Pay particular attention to:
    • How the Content Watcher and Content Publishing Services can replace or augment the current method of posting content and displaying feeds.
    • Potential interactions between the Graph Service, Reconnection Service, and other components of the demo.
  3. Diagram Creation: Using the information gathered, create a detailed diagram that:
    • Shows which services interact with specific parts of the social web demo.
    • Highlights the flow of data between services and components.
    • Includes placeholders for services that need to be developed or don't yet exist, indicating their anticipated connections and functionalities.
    • Includes placeholders for features currently missing from the gateway template app that would be necessary or desirable for a complete 'social web' app
  4. Gap Analysis: Identify functionalities in the social web demo that are not yet covered by existing services. Suggest new services (e.g., a Session Service) that need to be developed to fill these gaps, including a brief description of their intended functionality.

Acceptance Criteria:

enddynayn commented 7 months ago

How it works now: Image

What is missing: Image

Summary: We are missing wiring up content publisher, graph service, and content watcher. This wiring may require adding the following endpoints:

Additionally, we need to also create a simple feed service (not microservice) to generate a feed for a user. We are also missing an account service to facilitate interaction with the chain.

List of tickets for some of these items in more detail:

Additional diagrams: https://whimsical.com/gateway-8dfo4hLYPFUgEeafK6zpwx

p5150j commented 7 months ago

@enddynayn

Thanks for making the updates!!

Looking at the AC:

Notes:
I see the new services or user interfaces to be developed in the "What is missing diagram" (session service, messaging service, feed handler etc ) but what I dont see is a written summary for anything that is "missing" to accompany them. For example: We need a messaging service whose key responsibility is x y and z, or we need a session service whose key responsibility is x y and z and it talks to q, r, s service

enddynayn commented 7 months ago

It's easy to miss here you go.

Summary: We are missing wiring up content publisher, graph service, and content watcher. This wiring may require adding the following endpoints:

v1/assets endpoint - upload assets v1/webhooks/content - receive annoucements v1/webhooks/graph - receive graph changes /v1/content/{type}/{contentHash - Edit content /v1/content/{dsnpId}/{contentHash} - Get details of a specific post Additionally, we need to also create a simple feed service (not microservice) to generate a feed for a user. We are also missing an account service to facilitate interaction with the chain.

enddynayn commented 7 months ago

I'll elaborate a little more.

We are missing: Account Service - Currently under development to facilitate any chain interaction with creating an account. Session Service/Auth - A service that follows best standards and integrates with SignInWithFrequency. This allows developers not to worry about creating sessions and authentication. Messaging Service - A service for allowing users to send direct messages. Feed Handler - Not a service but logic that needs to be implemented once we integrate with content-watcher and content-publisher.

p5150j commented 7 months ago

Thanks @enddynayn