Base repository for Laravel back-end coding challenge for applicants.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
NB: when installing via Docker, only composer is required.
- PHP >= 7.3
- BCMath PHP Extension
- Ctype PHP Extension
- Fileinfo PHP Extension
- JSON PHP Extension
- Mbstring PHP Extension
- OpenSSL PHP Extension
- PDO PHP Extension
- PDO_PGSQL PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
- Xdebug PHP Extension
- PostgreSQL database
- Composer
There are multiple possibilities on getting a development environment up and running. We provide two different types of installation; using docker and manually.
- Make sure you have Docker and Docker-compose installed.
- Execute
composer install
to install all composer dependencies. - Copy
.env.example
to.env
. - Execute
./vendor/bin/sail up
to create the docker environment. - Execute
./vendor/bin/sail php artisan migrate
to create all tables in the database.
For more information see Laravel Sail.
- Execute
composer install
to install all composer dependencies. - Copy
.env.example
to.env
and complete the database credentials. - Execute
php artisan key:generate
. - Execute
php artisan migrate
to create all tables in the database.
For development purposes, it is recommended to serve the application either using
Laravel Valet (A linux fork is available) or php artisan serve
.
An anonymized dataset of transactions can be found at data/challenge_data.csv. Please create an appropriate database structure, using Laravel's migrations, into which these transactions with their predictive prices can be imported.
In order to run the tests, the dev dependencies from Composer need to be installed. This is the default behaviour if you followed the installation instructions above.
- Execute
composer test
to test all PHP files.
n/a
- Marijn van der Horst
See also the list of contributors who participated in this project.
This project is licensed under the MRD License - see the LICENSE file for details