Dapple is an attempt at providing a unified workflow for three DPL projects:
These projects recide in separate repositories but are used by one another to provide a complete application. While there is an established workflow for implementing changes which span multiple repositories, some processes may result in much back and forth between the individual parts. This can become both slow and complex.
Dapple tries to achieve the following goals:
- Make changes in one project propagate to the others automatically
- Propagate changes quickly
- Do not change the current structure of the projects
Dapple attempts to solve this by creating a working environment containing all three projects with direct links between each of them.
- Docker Compose
- Task
- Prerequisites required by the individual projects.
- Clone this repository
- Run
task init
to initialize the working environment
- Run
task dev:react --watch
to start the development environment - See that Storybook for the React components are opened in a browser
- Make a change in the local
design-system
project - See that the change triggers a build of the design system
- See the change is reflected in the Storybook browser window
- Run
task dev:cms-react --watch
to start the development environment - Open a browser to see the CMS installation
- Make a change in the local
design-system
project - See that the change triggers a build of the design system
- See that the change causes the CMS cache to be cleared
- Reload the browser to see the change reflected in the CMS
- Make a change in the local
react
project - See that the change triggers a build of the React components
- See that the change causes the CMS cache to be cleared
- Reload the browser to see the change reflected in the CMS