/tech-test

Sky Betting & Gaming Technical Test

Primary LanguagePHP

Sky Betting & Gaming Technical Test

Introduction

Welcome to the Sky Betting & Gaming Technical Test!

We hope that you find this exercise fun. There are no trick questions; we want to see your solution to a simple problem with well thought-out and well structured code.

The Brief

The aim of this exercise is to create a server-side form handler in the language of your choice, to load and save data from our supplied HTML form.

The main functionality required is a simple update capability against the existing records. Other CRUD functions could be added if you have time. In order to validate this functionality, you should include an appropriate level of test coverage.

For a datastore, your application should just read from and write to a file on disk, rather than use a relational/noSQL solution.

We leave it to you to decide how to transmit the data between the client and the server. Any client-side code should maintain the same principles as the server-side code.

You should use engineering best practices where appropriate. Principles we value include: security, performance, readability, testability, scalability, simplicity. You should also aim to achieve a clean separation of concerns between components of your solution; using the MVC pattern, for example.

The Deliverable

  • A bundled/archived repository showing your commit history. You could fork this repo in git, but any VCS is fine. Git example:

      git bundle create <yourname>.bundle --all --branches
    
  • A covering note explaining the technology choices you have made.

  • Any instructions required to run your solution and tests in a Linux environment.

The Markup

An example of the initial HTML form is provided in this repository.