X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=README.md;h=5af15f0668c5fca11c22b55e41276860633435ea;hb=fa43eebc41a180679085e36b299728c8172f88e5;hp=a26d4a60f3f3439fdfa8e9768322b86e417597a6;hpb=c4c5a8fe8a69d2959994147e681290ef2eb3a292;p=websub-hub diff --git a/README.md b/README.md index a26d4a6..5af15f0 100644 --- a/README.md +++ b/README.md @@ -18,10 +18,10 @@ Database table initialization and schema version migrations are automated. Conf A user will need to be created in order to view the `/admin` pages; the `bin/authAddUser.js` script will do this. -An IndieAuth profile may be used to view any topics associated with that profile. - The bundled logger spews JSON to stdout. +An IndieAuth profile may be used to view any topics associated with that profile. +![IndieAuth view of topics](./documentation/media/topics-indieauth.png) ### Quickstart Example One way of deploying this server is behind nginx, with the pm2 package to manage the server process, and a local postgres database. Some details on this are presented here as a rough guide to any parts of this stack which may be unfamiliar. @@ -114,6 +114,8 @@ The Hub keeps track of three primary entities: Any tasks in progress (notably: fetching new topic content, distributing that content to subscribers, or confirming pending verifications) are doled out and managed by a cooperative advisory locking mechanism. The task queue is wrangled in the database within the `*_in_progress` tables. +![Entity relationship diagram for Postgres engine](./documentation/media/postgres-er.svg) + A Hub node will periodically check for more tasks to perform, executing them up to a set concurrency limit. ### Quirks @@ -129,7 +131,6 @@ This implementation is built atop an in-house API framework, for Reasons. It wo - *.js - environment specific values, edit these as needed - server.js - launches the application server - src/ - - authenticator.js - interact with credentials and validation mechanisms - common.js - utility functions - communication.js - outgoing requests and associated logic - db/ @@ -150,7 +151,6 @@ This implementation is built atop an in-house API framework, for Reasons. It wo - logger.js - a very simple logging class - manager.js - process incoming requests - service.js - defines incoming endpoints, linking the API server framework to the manager methods - - session-manager.js - process login/logout requests - template/ - HTML content - worker.js - maintains a pool of tasks in progress, for sending out updates, performing verifications, et cetera - static/ - static assets