Digital Paper Edit - Infrastructure
June 28, 2019 · View on GitHub
This is purely the infrastructural part to tie together the API and the client of Digital Paper Edit.
See here for overall project architecture info
| Environment | URL |
|---|---|
| Mock | Local dev - TBC |
| Int | https://digital-paper-edit.int.tools.bbc.co.uk |
| Test | https://digital-paper-edit.test.tools.bbc.co.uk |
| Live | https://digital-paper-edit.live.tools.bbc.co.uk |
See @bbc/digital-paper-edit-client/docs/ADR/2019-04-23-transcript-architecture.md for more info on the architecure and diagram.
System Architecture
Usage
infrastructurecontains AWS specific configurations.SPECcontains instructions to build an RPM.dpe-apicontains API specific code. (WIP)dpe-clientcontains Client specific code. (WIP)
The Makefile has instructions that will allow you to build your RPMS and release them.
There are 3 Makefiles in this repository:
- Root level
dpe-apidpe-client
The root level Makefile will allow you to package an RPM that will pull in dpe-client and dpe-api that is released into a yum repository in Cosmos. There is nothing else in there. This will be deployed to Cosmos via Jenkins to install and automatically start the services. It is still a WIP, and will not work as is - there still needs to be work done for accessing the Cosmos yum repo.
At the dpe-api and dpe-client Makefile, you can build the RPM that pulls in the NPM modules, that contain the logic.
These Makefile instructions will only work on BBC CentOS based machines, as it requires certain BBC specific dependencies.
Development
Dependencies
Both dpe-api and dpe-client services pull in a dependency from the BBC NPM.
dpe-api
The API Express is directly used without assignment.
dpe-client
Running
Locally
In both dpe-api and dpe-client run:
npm start
This will start the client at http://localhost:8080 and the api at http://localhost:5000.
Build
Cloudformation
You can build the AWS Stacks in infrastructure by running make all. This will install Python dependencies in your virtualenv folder and generate the templates.
Deployment
For BBC deployment the Jenkins job is still WIP, and will not work as is. If you want to update Cloudformation, you will need to do it manually here.
Licence
See LICENCE
Legal Disclaimer
Despite using React and DraftJs, the BBC is not promoting any Facebook products or other commercial interest.