Performance management framework designed by Engineers for Engineers at Capco
View Demo
·
Report Bug
·
Request Feature
An application that allows Engineers to explore the Engineering performance management framework used in Digital Engineering at Capco.
Description | Link |
---|---|
React - JavaScript library for building user interfaces | React |
Cypress - JavaScript E2E Testing Framework | Cypress |
React Testing Library - light-weight solution for testing React components | React Testing Library |
Library that utilises tagged template literals to style React components | Styled Components |
To get a local copy up and running follow these simple steps.
A GitHub action is setup to test and then deploy the application into Cloud Run on GCP. Therefore both GCP and GitHub require configuration.
The high level steps are:
- Setup a GCP project that will host the application
- Within the project enable the following:
- Cloud Run Admin API
- Container Scanning API
- Create a service account and download a key
- Add
GCP_PROJECT
&GCP_SA_KEY
as secrets in the repo
For more detail on the exact steps, follow the instructions here.
# clone the repo
git clone https://github.com/capcodigital/engineering-framework.git
# installs the dependencies
npm install
npm start
- start the react appnpm test
- run unit testsnpm run cypress
- run e2e ui tests
GitHub Actions is being used to provide a lightweight CI/CD pipeline. There are 3 primary steps:
- Perform unit testing
- Deploy the application to Cloud Run
- Perform E2E testing
There ar 3 one off configurations required post deployment:
- Change the Cloud Run permissions and grant the Cloud Run Invoker role to
allUsers
- Increase the memory requirements from
512Mi
to1024Mi
- Map https://framework.capco.io to the service from within the console
Over time it is expected it will be possible to full automate these steps
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
If you would like to contribute to any Capco Digital OSS projects please read:
Distributed under the MIT License. See LICENSE
for more information.