Skip to content
This repository was archived by the owner on Feb 17, 2025. It is now read-only.

Tech stack

Benoît Jeaurond edited this page Nov 21, 2020 · 3 revisions

Overall technologies

The following technologies are used throughout our codebase (frontend and backend):

  • JavaScript as our programming language
  • Yarn for our package manager
  • Docker for consistent development across environment (locally or on the server)
  • Keycloak for user authentication in our application

Testing

  • Jest for our testing

Linting

  • ESLint for linting our code
  • Prettier for keeping consistency in coding styles (a bit more rafined than ESLint)

CI/CD

  • OpenShift for our application deployments
  • Jenkins for linting, testing, deploying, and releasing our application
  • SonarQube for static code analysis

Frontend specific technologies

In addition to the linters mentioned above, the frontend has a custom linter to clean the intl translation files and the frontend has the following technologies:

  • React for our frontend framework
  • Craco for creating our React bundle
  • Ant Design for our main UI library
  • Redux for our state management library
  • Chart.js for our charting library

For an extensive list of libraries/packages, please look into the package.json of the frontend service

Backend specific technologies

Database

  • Prisma for interacting with our PostgreSQL database
  • PostgreSQL for persisting important application information
  • Redis for our session management storage for Keycloak

For an extensive list of libraries/packages, please look into the package.json of the backend service

Useful Visual Studio Code extensions

If you are using Visual Studio Code, the following extensions are useful

  • Prettier - Code formatter - automatic file formatting using our configuration and prettier warnings in the code
  • ESLint - eslint warnings in the code
  • Docker - manage docker containers, networks, volumes, images inside Visual Studio Code
  • Prisma - prisma schema file formatter and warnings

Clone this wiki locally