This application provides a frontend for the REST API: https://github.com/shaunganley/java-dropwizard-swagger-jdbc
- Follow the steps in the above link to run the REST API
- Run
npm install
to build your application - Start application with
API_URL=http://localhost:8080/ && npm start
- To check that your application is running enter url
http://localhost:3000/employees
- Run
npm test
to run unit tests - Run
UI_TEST_URL=http://localhost:3000 && npm run test-ui
to run UI tests locally, change the URL to run against remote (you may need to update the version of the chromedriver dependency:npm update chromedriver
)
- You can change the URL of the REST API by setting the restApiUrl environment variable
You can build in a number of ways using docker and integrate it with a database, these are listed below: pre-requisite = docker and docker compose are installed in your local system. your docker image for https://github.com/shaunganley/java-dropwizard-swagger-jdbc is available locally (the web ui has a dependency on this) and running.
-
Ensure the environment variables are correct for your api or enter these as additional arguments on the docker build command.
Run "docker build <service name given + optional tag> ." from your src directory. This will read from your docker file, build the environment required for the image, build your service and create the image locally.
Use "docker images" to verify your image is available after running the above command.
Now run "docker run -p :3000 ", this will then spin up your image and host on the given port.
-
You can also deploy by docker compose which handles the network traffic between containers also will deploy a mysql container also. pre-requisite = ensure your docker image is available or build with docker compose, ensure that name is in the image name for docker compose.
run "docker compose up" from the src directory, this spins up both the web,api and a mysql db instance.
Next log onto your db instance and follow the commands under "Database".
Done....the service should be able to operate as expected.