Web frontend to manage user accounts and API keys for Drill4J instance.
This project was bootstrapped with Create React App.
Drill4J UI is a simple React frontend using HTML, CSS, and JavaScript. It can be hosted in various ways.
The only requirement at the moment is that requests made by Drill4J UI to /api/ and /oauth/login must be proxied to Drill4J Backend instance.
The easiest method is using Nginx or equivalent reverse proxy.
- Refer to the ./deployment/ directory for the Nginx configuration
- Nginx can be deployed using
- the
docker runcommand - or Docker Compose file
- the
You can download Drill4J UI at https://github.com/Drill4J/drill4j-ui/releases
Alternatively clone this repository and build it yourself following ./Development instructions below.
- Leave Version field empty to bump patch version
- Specify tag manually (
vX.Y.Z) to bump minor or major versions
Build assets will be uploaded to https://github.com/Drill4J/drill4j-ui/releases
- Install Node.js
v20.15.0(npm10.7.0at the time of writing) - Clone this repository, navigate to repository folder
- Execute
npm install
- Execute
npm build - After the build process is finished
buildfolder should appear, containingindex.html,staticfolder and other relevant build files
Execute npm start to launch the app in the development mode.
Open http://localhost:3000 to view it in your browser.
- The page will reload when you make changes.
- You may also see any lint errors in the console.
During local development requests are proxied using middleware configuration in setupProxy.js (see CRA docs)
If default address http://localhost:8090 does not work for you adjust this line:
target: "http://localhost:8090",Q: Why not simply set "proxy" property in
package.jsonaccording to CRA docs?A: When signing in with Auth Provider user is redirected to
/oauth/loginvia browser. By default, proxy ignores all requests marked withtext/html- hence, with default setup, proxy won't cath this request and redirect won't work
In the project directory, you can run:
Launches app for local development
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.