Deze folder bevat de Bereikbaarheid frontend zoals zichtbaar op https://acc.bereikbaarheid.amsterdam.nl/ (acceptatie) en https://bereikbaarheid.amsterdam.nl/ (productie).
Een werkkaart kun je activeren met de parameter expertMode=true
, bijv. https://acc.bereikbaarheid.amsterdam.nl/?expertMode=true. Hiermee heb je toegang tot extra functionaliteit wat het makkelijker maakt om de content van de kaart te checken.
Deze folder is als volgt ingedeeld:
public
: bevat static files; worden meegenomen innpm run build
src
: bevat de React applicatie.test
: bevat test utils. Deze worden gebruikt innpm run test
.env.*
: env variables voor de diverse omgevingen. Worden ingesteld doornpm run start
Dockerfile
bevat config voor de Docker omgeving.nginx.*.conf
; bevat nginx configuraties voor diverse omgevingen.
- Make sure the API is running locally, for more info see the bereikbaarheid-backend repo.
- Create the docker images:
make build
- Run the docker container:
make app
- View the app at http://localhost:5000
- Installeer Node.js
- Installeer NVM om te kunnen werken met verschillende Node versies op je lokale machine
- Configureer je IDE zodat de volgende zaken ondersteund, bijv. dmv plugins:
- Prettier; zodanig dat JS in de frontend folder worden gecheckt. Voorbeeld pattern:
frontend/*.{js,ts,jsx,tsx}
- ESLint
- EditorConfig
- Prettier; zodanig dat JS in de frontend folder worden gecheckt. Voorbeeld pattern:
- Gebruik de juiste Node.js versie voor deze app door commando
nvm use
te draaien in je terminal. Als je geen gebruik maakt van NVM, zorg dan dat je handmatig de correcte Node.js versie installeert zoals beschreven in.nvmrc
- Installeer de app dependencies:
npm install
- Zorg dat de API lokaal beschikbaar is, zie de bereikbaarheid-backend repo voor meer info.
- Start de frontend development server:
npm start
.
Een hot-reloaded versie van de frontend is beschikbaar via http://localhost:3000. De pagina wordt ververst als je bronbestanden (in de src
folder) wijzigt. Zowel in je IDE als in de console zijn linting en formatting errors te zien.
De frontend is gescaffold met Create React App en afgestemd op Amsterdam frontend-react-template.
- Tijdens ontwikkeling van de frontend zorgt CRA voor de proxy, zie
package.json
. - Om CORS issues in de docker-compose setup te vermijden, wordt een aparte NGINX setup (
nginx.dockercompose.conf
) gebruikt. Via een build argument wordt bepaald welke nginx configuratie wordt geladen.
On every pull request and push to the main
branch, the application is linted and tested if it can be build.
Additionally, the app is deployed to the acceptance environment on push to the main
branch
In this directory, you can run:
npm start
: runs the app in the development mode. For more info, see 'Getting started'.npm test
: launches the test runner in a non-interactive watch mode.npm test:watch
: launches the test runner in an interactive watch mode.npm run build
: builds the app for production to thebuild
folder.npm run eject
: this app is currently not ejected.