Files
talk/DESIGN.md
T
Wyatt Johnson 59cf728681 [next] Tasks (#1777)
* feat: initial support for synced tenants

* fix: cleanup

* fix: logger now respects logging level

* fix: cache now ignores updates issued from itself

* feat: print subscriber count

* feat: initial moderation + validation for new comments

* fix: added Promiseable type

* feat: initial actions impl

* feat: more moderation phases

* fix: handle settings inheritence

* fix: moved settings into new file

* fix: defaults and documentation

* fix: replace merge with object spread

* feat: added integration with akismet

* fix: support tenant cache for oidc strategy

* fix: fixed compile

* fix: import ordering

* feat: added bull for queue support

* feat: support for scraping

* fix: fixes for scraper

- Implemented simple metascraper replacement (to resolve security advisory
  warning)
- Implemented simle dotize replacement (to resolve not
  working version that couldn't handle date objects)
- Plugged in asset scraping to asset creation process

* fix: handles array values

* feat: added initial scraper implementation

* feat: seperate queues but share config

* fix: simplified auth data access

* feat: moved more settings into the graph

* feat: improved mailer design

* fix: fixed issue with dotize

* fix: fixed some issues with adapter

* fix: queue cleanup

* feat: added organizationName to Tenant

* feat: email rendering

* review: support es6 imports

* fix: restore old ci step

* fix: adjusted logging messages
2018-09-04 18:47:20 +00:00

70 lines
1.4 KiB
Markdown

# Design
## HTTP Routes
### Stream API
/api/tenant/graphql
/api/tenant/auth
### Tenant Management API
/api/management/graphql
/api/management/auth
## Folder structure
```text
/graph/tenant <-- tenant's api (comments, assets, ...)
/graph/management <-- tenant management api
```
1. No tenants
2. Create a tenant <-- consuming the TMA
## Database connections
### Redis Clients
1. Tenant RedisPubSub Subscriber *
2. Tenant RedisPubSub Publisher
3. Queue Subscriber *
4. Queue Publisher
5. Queue Client
6. Queue Blocking Client
## Scripts
### Embed
Embed Script - Renders the iFrame <-- does not have a html page in production (should be on server?)
/dist/static/assets/embed.js /static/embed.js
### Stream
Stream - Renders the comment stream <-- data
/dist/static/assets/stream.<HASH>.css /static/assets/stream.<HASH>.css
/dist/static/assets/stream.<HASH>.js /static/assets/stream.<HASH>.js
/dist/static/stream.html /embed/stream
### Admin
Admin - Renders the Admin page <-- data
/dist/static/assets/admin.<HASH>.css /static/assets/admin.<HASH>.css
/dist/static/assets/admin.<HASH>.js /static/assets/admin.<HASH>.js
/dist/static/admin.html /admin
## Development Routes
localhost:3000
/ -> /admin
/dev <-- server side html for dev/iframe integration
localhost:8080
/ -> localhost:3000/dev
/embed/stream <-- stream html (now is at /)
/admin <-- stream html (now is not there)