Both the ESAP-API (backend) and ESAP-GUI (frontend) projects are created in a way that allows running code locally in webservers that are provided by the frameworks that they are developed with.
For the [**Django**](https://docs.djangoproject.com/en/3.0/) backend this a built-in webserver:\
This will default serve the backend at: <http://localhost:8000> (however, we run the ESAP backend on port localhost:5555)
For the [**ReactJS**](https://reactjs.org/) frontend it is the `node` webserver that comes with the 'Create React App' environment that was used to setup the project: <https://reactjs.org/docs/create-a-new-react-app.html#create-react-app>
This will default serve the frontend at: localhost:3000
A development ESAP client is already registered as a service at IAM for the 'localhost' redirect url. If you want to use that client registration, then ask us for the `OIDC_RP_CLIENT_ID` and `OIDC_RP_CLIENT_SECRET`
But you can also choose to register your own ESAP client and then get your own `OIDC_RP_CLIENT_ID` and `OIDC_RP_CLIENT_SECRET`. See [Register at IAM](https://git.astron.nl/astron-sdc/esap-api-gateway/-/wikis/Build-&-Deploy-ESAP/Production-mode-(server)#registering-at-iam) for that procedure.
#### Fill in OIDC settings
The `OIDC_RP_CLIENT_ID` and `OIDC_RP_CLIENT_SECRET` settings from the previous step should be filled in where it now says ''.
You could add the following environment variables and django 'runserver' command into a script like `runs.sh` to start the backend. **note**: Linux users might require to prefix each environment variable with `export`.