Skip to content

Performance management framework designed by Engineers for Engineers at Capco

License

Notifications You must be signed in to change notification settings

capcodigital/engineering-framework

Repository files navigation

Contributors Forks Stargazers Issues MIT License


Logo

Digital Engineering Framework

Performance management framework designed by Engineers for Engineers at Capco

View Demo · Report Bug · Request Feature

Table of Contents

  1. About The Project
  2. Getting Started
  3. Development
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgements

About The Project

Unit and E2E Tests

Engineering Framework

An application that allows Engineers to explore the Engineering performance management framework used in Digital Engineering at Capco.

Built With

typescript react styled

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

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

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.

Installation

# clone the repo
git clone https://github.com/capcodigital/engineering-framework.git

# installs the dependencies
npm install

Development

Commands

  • npm start - start the react app
  • npm test - run unit tests
  • npm run cypress - run e2e ui tests

CI/CD

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

Post Initial Deployment

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 to 1024Mi
  • 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

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

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.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

If you would like to contribute to any Capco Digital OSS projects please read:

License

Distributed under the MIT License. See LICENSE for more information.

Acknowledgements

About

Performance management framework designed by Engineers for Engineers at Capco

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Languages