tdp-ui
is a graphical interface for tdp-server
.
We assume that are available:
tdp-server
, with the appropriate cors
configuration (BACKEND_CORS_ORIGINS=[...,"http://tdp-ui-domain.local"]
).tdp-server
. tdp-ui
domain has to be registered as a redirect URI.tdp_server
provides a Docker environment containing an IDP for development purposes.The following are required to build and develop tdp-ui
. They aren't needed when exporting the project. tdp-ui
can be used with any web server (such as NGINX):
Use the sample config.example.json
file to provide tdp-ui
the required environment variables:
cp config.example.json config.json
A skipAuth
option is available to skip the authentication process. It is useful for development purposes.
Generate the RTK Query OpenAPI client:
npm run generate
The RTK Query OpenAPI client is generated in the ./src/features/api/tdpApi.ts
file using ./scripts/openapi-config.ts
and a schema in the ./schemas/
folder.
Install dependencies and start the app in development mode:
npm install
npm run dev
By default, the client is available at http://localhost:3000.
A Docker environment is provided with the required dependencies for development. It contains both tdp-server
and Keycloak as the identity provider:
docker compose -f env/dev/compose.yml up -d
An user is provisioned in Keycloak to access the app. The credentials are:
user@tdp.com
secret
By default, Next.js uses a Node.js server to serve the app. tdp-ui
doesn't need a Node.js server and is exported to work without it:
npm install # Install dependencies
npm run export # Build and export the project
The project is exported in the ./out
folder to be used with any web server (such as NGINX).
A Docker environment is provided with NGINX to test the exported project:
docker compose -f env/export/compose.yml up -d
Git hooks are defined using Husky to enforce good coding practices. For each commit, Husky automatically:
Further instructions are available in the docs
folder.