Your task is to build a backend app that fulfills the Transaction Management API and make the provided API tests pass.
Please agree with your 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.
If you prefer to avoid installing dependencies like npm on your local machine, Gitpod offers a handy solution. It provides free access to preconfigured, in-browser IDEs that are ready for immediate use.
To utilize this for your repository, here's what you need to do:
- Go to 'https://gitpod.io/#your-repo-url', replacing 'your-repo-url' with the actual URL of your repository. For instance, 'https://gitpod.io/#https://github.com/octocat/Hello-World'.
- Authenticate using your GitHub account.
By following these steps, you'll quickly find yourself in an environment tailored for your coding test.
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 npm
- Install node
- 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.
- Keep server data in a SQLite database. We want to see how you design the database schema and SQL queries.
- 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 1-3 hours 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.