See
- Commit messages should follow the conventional commits guideline,
- Make sure to run
npm run fmt && npm run lintbefore requesting a review! This process can be automated with hook installed bynpm run init-git(see below). - Create a PR & wait for review,
- PRs should be "squashed & merged"
We develop on linux. Windows with WSL is possible but we will not offer support with WSL problems & project setup.
First setup a pre-commit hook via
npm run init-gitThis will run tests, linter and auto-formatter before every commit.
Start the frontend as standalone app
npm run devOr run it in a docker container
docker-compose upIf the backend is started in the same way, communication is possible without additional configuration.
We use Vite.
Run the tests via
npm run test
# or
npm run test-watchFramework: We use jest, and @testing-library/react.
Approach: All logic should be tested, including null-coalescing with "??"-operator. If inline logic is written inside a component, that component should be rendered in a test.
Compilation via 2 stage Dockerfile. Image is build and pushed to hub.docker.com via github action.
Install git, docker, docker-compose and npm (You should use nvm to avoid node version conflicts).
To install all dependencies run
npm installFor the setup of docker you should add your user to the docker group by running
sudo gpasswd -a $USER docker
# or
sudo usermod --append --groups docker $USERdocker network create learngraphnetTo let frontend and backend talk to each other in docker.
Finally run docker-compose up in both frontend and backend at the same time.
You can look at the current instance of the app in your Browser under
localhost:3000