Coding challenge for a online shop
Go to file
2018-07-24 12:12:14 +02:00
src Added unregistered error 2018-07-15 16:55:03 +02:00
docker-compose.yml Updated docker configuration 2018-07-14 16:51:51 +02:00
Dockerfile Optimized docker file for composer 2018-07-24 12:12:14 +02:00
README.md Removed typo 2018-07-15 17:01:20 +02:00
start.sh Added table create routine 2018-07-14 20:09:56 +02:00
test.sh Updated docker configuration 2018-07-14 16:51:51 +02:00

coding-challenge-online-shop

Coding challenge for a online shop

task

requirements

  1. Create a web application with PHP which works like a really small online shop. ✓
  2. Create a database with at least 20 products✓ automatically✓ per script. ✓
  3. Create a product listing which display all products from the database. ✓
    The following information are required:
  • price net and gross ✓
  • image ✓
  • product name ✓
  • color ✓
  1. Add a “to the basket” button to each product in the listing. ✓
  2. Make the product basket work and display all products which are in the basket as a list with small images. ✓
  3. Create a login and registration with e-mail address, password and a name. ✓
  4. The login should be session based. ✓
  5. Create a checkout which is shown when the user is logged in. ✓
  6. The user should be able to choose between 2 payment methods. ✓
    Call them method1 ✓ and method2 ✓.
  7. Store the order at the database. ✓
  8. Add a color filter to the product list.✓
    The user should be able to filter the listing with the existing colors. ✓

specifications

  • Please use PHP ✓, MySQL ✓ and HTML ✓. You can also use CSS, JavaScript, Bootstrap ✓ and jQuery.
  • Save your code online at github. ✓
  • Please use an autoloader and namespaces. ✓
  • Dont use a ready to go framework. Build the application from the scratch. ✓
  • Use transactions if it makes sense. ✓
  • Please cover your code with unit tests. ✓

time frame

  • one weekend ✓

start

To run the program execute:

  bash ./start.sh

Attention

This is a demo program; Everytime when you restart the demo the database will be reset.

requirements

The start.sh file needs docker and docker-compose.

access

If you started the application you can access it with a browser on localhost:8100.

test

To run the tests execute:

  bash ./test.sh

Tests just exist for the core, the entities and some other files. UnitTest you will find in the directory of the unit.