Skip to content

GC Digital Talent is the new recruitment platform for digital and tech jobs in the Government of Canada. // Talents numériques du GC est la nouvelle plateforme de recrutement pour les emplois numériques et technologiques au gouvernement du Canada.

License

Notifications You must be signed in to change notification settings

GCTC-NTGC/gc-digital-talent

Repository files navigation

Welcome to the GC Digital Talent monorepo

Lighthouse PHP CodeQL Jest Lint PHPUnit Cypress Playwright Translations codecov

The GC Digital Talent app is divided into multiple services, each treated as its own sub-project:

  • /api, API service
  • /apps, frontend applications
  • /packages, npm packages used within /apps
  • /apps/e2e, e2e testing with Cypress
  • /tc-report, static content, mostly the Talent Cloud report, generated with Jekyll
  • /infrastructure, support files for the docker infrastructure to run the project
    • includes a mock OAuth server (only used for local development environments)
  • /maintenance, scripts which run inside the docker containers for setup and updates

The api and frontend projects are both designed to run in separate containers. However, they can also be run on a single server with requests routed carefully between them. This is currently how the docker infrastructure works.

Each sub-project has its own README.md, with advice on how to contribute to that sub-project. The README files also contain notes on how to configure the sub-projects, but if you simply want to get the project running on a new machine, you may disregard these notes and move straight to the steps below.

Testing

We do several types of testing: (internal documentation linked when available)

  • code style checks (aka linting)
    • ESLint feat. Prettier (JavaScript)
    • Pint (PHP)
  • unit testing
    • Jest (ReactJS)
    • PHPUnit (PHP)
  • visual regression testing
  • end-to-end testing with Cypress (full app in-browser)
  • security checks (aka security regression testing)
    • CodeQL (JavaScript, TypeScript)

As much as possible, we aspire to make these runnable on:

  • ⌨️ your CLI (command-line interface)
  • 💻 your IDE (integrated development environment)
  • ☁️ our CI (continuous integration) environment

Getting Started

Running with Docker

We strongly recommend running the project entirely with Docker. In this case the only dependency you must install on your machine is Docker Desktop.

Then, follow the instructions in /maintenance/README.md to build the project docker containers and run the build scripts. That should handle everything!

Tip

If using Docker Desktop, make sure virtualization is enabled in your machine's BIOS.

About

GC Digital Talent is the new recruitment platform for digital and tech jobs in the Government of Canada. // Talents numériques du GC est la nouvelle plateforme de recrutement pour les emplois numériques et technologiques au gouvernement du Canada.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published