Skip to content

Husam-Almiyah/assignment

Repository files navigation

Backend Assignment

Task

You were given a sample Laravel project which implements sort of a personal wishlist where user can add their wanted products with some basic information (price, link etc.) and view the list.

Refactoring

The ItemController is messy. Please use your best judgement to improve the code. Your task is to identify the imperfect areas and improve them whilst keeping the backwards compatibility.

New feature

Please modify the project to add statistics for the wishlist items. Statistics should include:

  • total items count
  • average price of an item
  • the website with the highest total price of its items
  • total price of items added this month

The statistics should be exposed using an API endpoint. Moreover, user should be able to display the statistics using a CLI command.

Please also include a way for the command to display a single information from the statistics, for example just the average price. You can add a command parameter/option to specify which statistic should be displayed.

Open questions

Please write your answers to following questions.

Please briefly explain your implementation of the new feature

...

For the refactoring, would you change something else if you had more time?

...

Running the project

This project requires a database to run. For the server part, you can use php artisan serve or whatever you're most comfortable with.

You can use the attached DB seeder to get data to work with.

Running tests

The attached test suite can be run using php artisan test command.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published