Your task is to build a backend service that implements the Lookup Service REST API and integrates with the Credit Data REST API to aggregate historical credit data.
Please agree with the hiring team regarding the tech stack choice.
Head over to our community on GitHub to get assistance.
We have created a set of boilerplate projects for different tech stacks to help you get started quicker.
To import a boilerplate project:
- Check out this list to pick a desired boilerplate and copy its name (e.g.,
backend-boilerplate-php-laravel
). - Go to the "Actions" tab of your GitHub repository and select the "Setup boilerplate" workflow in the left side panel.
- In the "Run workflow" dropdown, paste the previously copied boilerplate name along with the branch name where you want the boilerplate to be imported (e.g.,
implementation
) and click the "Run workflow" button. - After the workflow has finished, your selected boilerplate will be imported to the specified branch, and you can continue with your task there.
If you instead want to use a custom setup, complete the steps below to make the E2E tests run correctly.
- Update the
apiUrl
(where your backend runs) in cypress.json. - Update the
build
andstart
scripts in package.json to respectively build and start your app.
Remotely on the GitHub Actions pipeline
Push your code to the new implementation
branch (create it if it doesn't exist), which will trigger a new pipeline run that will run the tests.
Check the 'Actions' tab to see the historical runs.
Locally with Docker (Mac & Windows only)
- Install Docker
- Start your app
docker run --add-host host.docker.internal:host-gateway -v $PWD:/e2e -w /e2e cypress/included:3.4.0
You can either use the console output or generated screenshots/videos (check the newly created files that appear after a test run) to troubleshoot the test results.
Locally with npm
- Install node
- When in the project's root, run:
sed 's/host.docker.internal/localhost/g' cypress.json > cypress.json.tmp && mv cypress.json.tmp cypress.json
- Start your app
npm run test
You can either use the console output or generated screenshots/videos (check the newly created files that appear after a test run) to troubleshoot the test results.
- Make the provided API tests pass.
- Push your code to the new
implementation
branch. We encourage you to commit and push your changes regularly as it's a good way for you to showcase your thinking process. - Create a new pull request, but please do not merge it.
- Document the tech decisions you've made by creating a new review on your PR (see how).
- Await further instructions from the hiring team.
Between 30min-1h depending on your experience level + the time to set up the project/environment (go with one of the provided boilerplates to move quicker).
Also, there is no countdown. The estimate is for you to plan your time.
Authored by Alva Labs.