1 changed files with 95 additions and 0 deletions
@ -0,0 +1,95 @@ |
|||
# DTP Base Architecture |
|||
This document presents an overview and explanation of the DTP Base system architecture. The system is made of a core library, models, services, controllers, views, processes and workers. |
|||
|
|||
## Directory Structure |
|||
. |
|||
├── assets |
|||
├── data |
|||
├── docs |
|||
├── logs |
|||
├── src |
|||
│ ├── app |
|||
│ │ ├── controllers |
|||
│ │ │ └── lib |
|||
│ │ ├── models |
|||
│ │ │ └── lib |
|||
│ │ ├── services |
|||
│ │ │ └── lib |
|||
│ │ ├── templates |
|||
│ │ │ ├── common |
|||
│ │ │ │ ├── html |
|||
│ │ │ │ └── text |
|||
│ │ │ ├── html |
|||
│ │ │ ├── layouts |
|||
│ │ │ │ ├── html |
|||
│ │ │ │ └── text |
|||
│ │ │ └── text |
|||
│ │ └── views |
|||
│ │ ├── announcement |
|||
│ │ │ └── components |
|||
│ │ ├── components |
|||
│ │ ├── layouts |
|||
│ │ ├── load-test |
|||
│ │ ├── user |
|||
│ │ │ └── components |
|||
│ │ └── welcome |
|||
│ │ └── components |
|||
│ ├── client |
|||
│ │ ├── fonts |
|||
│ │ ├── img |
|||
│ │ │ ├── icon |
|||
│ │ │ │ └── newsroom.digitaltelepresence.com |
|||
│ │ │ └── screenshots |
|||
│ │ ├── js |
|||
│ │ │ └── lib |
|||
│ │ └── less |
|||
│ │ └── site |
|||
│ ├── config |
|||
│ ├── lib |
|||
│ │ ├── core |
|||
│ │ └── web |
|||
│ └── workers |
|||
│ └── newsroom |
|||
├── ssl |
|||
├── supervisord |
|||
└── types |
|||
|
|||
## Models |
|||
|
|||
## Services |
|||
|
|||
## Controllers |
|||
|
|||
## Views |
|||
|
|||
## Processes |
|||
|
|||
### Web Application Server |
|||
|
|||
The [Newsroom Web Application Server](../src/newsroom-web.ts) implements the ExpressJS-based HTTPS interface for the application. It provides the newsroom to the end user in a browser. |
|||
|
|||
### Workers |
|||
. |
|||
├── src |
|||
│ └── workers |
|||
|
|||
Workers are processes intended to always run and provide various services to the platform. They use cron and job queues to trigger jobs, do the work required, then sleep. The workers in this system are rendering videos, generating images and audio, sending emails and notifications, and delivering other compute solutions. |
|||
|
|||
#### Newsroom Worker |
|||
|
|||
The [Newsroom Worker Process](../src/workers/newsroom.ts) has two modes of operation: Orchestration and Factory. |
|||
|
|||
Orchestration mode performs the high-level work of fetching RSS feeds and creating `item-ingest` jobs on the `newsroom` queue. |
|||
|
|||
Factory mode binds to the `newsroom` job queue and provides a processor for ingest jobs. An ingest job will: |
|||
|
|||
1. Fetch the linked article |
|||
1. Extract the text content (story) to feed the narration script generation process |
|||
1. Extract images from the article to be used in the video |
|||
1. Feed the text story content to AI to generate a text summary to be used as a narration script |
|||
1. Feed each paragraph of the text story content to AI to generate images to be used in the video |
|||
1. Feed each paragraph of the text story content to AI to generate text-to-speech audio to be used in the video |
|||
1. Generate an MLT script to render the video |
|||
1. Render the video |
|||
1. Upload the video to storage |
|||
1. Publish the video |
Loading…
Reference in new issue