Skip to content

kinsta-martech/code-challenge

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 

Kinsta Web Developer Code Challenge

This code challenge is designed to assess a candidate's skills in PHP and frontend development.

Instructions

The code challenge is divided into two sections: a PHP Development challenge and a Frontend Development challenge.

Each challenge has a set of core requirements and a set of bonus or optional requirements. Candidates are expected to complete the core requirements of each challenge. We ask that you complete the core requirements first and then move on to the optional bonus requirements as time allows. The bonus requirements are not required to complete the challenge but are there to give candidates an opportunity to showcase their skills and creativity. You may choose to complete as many or as few of the bonus requirements as you like.

Note: There are three challenges available, and depending on the role you applied for, you may be instructed to prioritize a particular challenge over the others. If you wish to attempt more than one challenge, please ensure you prioritize the primary challenge you've been asked to complete first before attempting the others. You may have been given specific instructions on which elements of the challenge to prioritize, so please pay attention to those items, as they may be more important in the assessment for the role you've applied for.

Challenge 1: PHP Development

In this challenge, candidates will create a PHP class to interact with a list of books stored in a JSON file. The PHP class should provide several methods for interacting with the list of books, such as adding a book, deleting a book, updating a book, and retrieving a book by ID.

Challenge Details & Files

  • challenge-1.md: The file that outlines the requirements of the backend challenge.
  • data/books.json: A JSON file containing the list of books that the PHP class should interact with.

Challenge 2: Frontend Development

In this challenge, candidates will create a frontend application that interacts with the list of books from Challenge 1. The frontend should allow users to view the list of books, add new books, search and filter books.

This challenge has some specific tasks where we ask candidates not to use third-party libraries. Outside of these specific requirements, candidates are free to use any third-party libraries or frameworks they like. It would be helpful to include a reason for choosing a specific library or framework in the submission and candidates will be asked about their choices during the interview process.

A Design Mockup is available to assist with the implementation of the frontend challenge. Although we would appreciate seeing candidates implement as much of the design as possible, we recognize that time is a limitation. Therefore, we request that candidates first focus on the design elements that align with the core requirements of the challenge and then gradually improve the UI as time permits. We do not require candidates to change the design, however they are free to make adjustments to the UI implementation to ensure things like accessibility and mobile responsiveness.

Challenge Details & Files

  • challenge-2.md: The file that outlines the requirements of the frontend challenge.
  • data/books.json: The same JSON file containing the list of books from Challenge 1.
  • Figma Mockup: Figma design mockup that you can as a reference to build the UI.

Challenge 3: Full Stack (Laravel) Development

In this challenge, candidates will create a full-stack web application using Laravel that interacts with the list of books from Challenge 1. The application should allow users to view the list of books, add new books, search and filter books, and view the details of individual books.

The same Design Mockup from challenge 2 can be used here. Keep in mind we would appreciate seeing candidates implement as much of the design as possible, we recognize that time is a limitation. Therefore, we request that candidates first focus on the design elements that align with the core requirements of the challenge and then gradually improve the UI as time permits.

Because this challenge already assesses backend and frontend skills we would not recommend candidates complete the other challenges if they are attempting this one. Instead they should focus on completing the core requirements of this challenge and then move on to the optional bonus requirements as time allows.

Challenge Details & Files

  • challenge-3.md: The file that outlines the requirements of the fullstack challenge.
  • data/books.json: The same JSON file containing the list of books from Challenge 1.
  • Figma Mockup: Figma design mockup that you can as a reference to build the UI.

Submission

Candidates should submit their solution by creating a private repository on GitHub and inviting the hiring team to access it, then emailing the hiring team with a link to the repository.

The submission should include all the necessary files and instructions on how to run the code. A Dockerfile has been provided to assist with the setup of the environment. Candidates are free to adjust the Dockerfile or use a different method provided instructions a clear on how to run the solution.

Please keep in mind that candidates will be assessed on their understanding of their submissions during the interview process. They should be prepared to walk through their solution with the hiring team and be able to answer any questions about decisions they made on the implementation.

Good luck!

About

Web Developer Code Challenge

Resources

Stars

Watchers

Forks