An entry-level developer needs help making their application containerized for deployment. You have volunteered to create a pull request that will include all the changes necessary to make the service ready.
Unfortunately, there are no unit tests for this API, so we'll need to do some
manual testing to make sure we have the build correct. We'll let the developer
add unit tests later, so for now, simply run the npm run test
command which
will always exit with a success.
The developer has provided all the requirements and instructions for the service in the repository's README.
This project requires use of GitHub for forking and branching. It uses GitHub Actions for CI build. It uses GitHub Packages for storing the container. All of these should be free for public repositories. If you find something that is NOT free, then something has changed since this project was written ... or you are perhaps looking in the wrong place. You DO NOT have to pay for any service for this project.
- Fork project at: https://github.com/harlanbarnes/rest-key-value
- Create a feature branch for your changes
- Add a Dockerfile to the repository and get the application running in a container
- Add a docker-compose.yml that will:
- Build and Run the container
- Have a Redis service to provide an all-in-one stack for development testing
- Configure both as necessary to operate the stack
- Expose the REST API port to the host environment for testing
- Start the stack with docker-compose
- Write curl commands that will demonstrate:
- A key that is not found
- Add a value for that key
- Get the same key again and view the response value
- Connect to the Redis instance and ensure that the key/value pair is in the correct instance
- Stop the stack with docker-compose
- Setup the appropriate GitHub Actions configuration to:
- Build the container
- Run the tests
- If the above is a success, push the container to GitHub Packages (the container registry) tagged with the branch name.
- Do NOT push a container if the above fails
- Commit your changes and test GitHub Actions
- Once you are happy with your changes, commit to your feature branch, create a pull request against the upstream repository, and email your contact that it is complete.