2018-07-13 22:00:46 +02:00
|
|
|
|
# coding-challenge-online-shop
|
|
|
|
|
Coding challenge for a online shop
|
2018-07-14 10:29:32 +02:00
|
|
|
|
## tasks
|
|
|
|
|
### requirements
|
2018-07-13 22:09:30 +02:00
|
|
|
|
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
|
|
|
|
|
4. Add a “to the basket” button to each product in the listing.
|
|
|
|
|
5. Make the product basket work and display all products which are in the basket as a list with
|
|
|
|
|
small images.
|
|
|
|
|
6. Create a login and registration with e-mail address, password and a name.
|
|
|
|
|
7. The login should be session based.
|
|
|
|
|
8. Crete a checkout where the user have to be logged in.
|
|
|
|
|
9. The user should be able to choose between 2 payment methods. Call them method1 and
|
|
|
|
|
method2.
|
|
|
|
|
10. Store the order at the database.
|
|
|
|
|
11. Add a color filter to the product list. The user should be able to filter the listing with the
|
|
|
|
|
existing colors.
|
2018-07-14 10:29:32 +02:00
|
|
|
|
### specifications
|
2018-07-13 22:09:30 +02:00
|
|
|
|
- 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.
|
|
|
|
|
- Don’t 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.
|
2018-07-14 10:29:32 +02:00
|
|
|
|
|
|
|
|
|
## start
|
2018-07-14 10:44:39 +02:00
|
|
|
|
To run the program execute:
|
2018-07-14 10:29:32 +02:00
|
|
|
|
```bash
|
2018-07-14 16:51:51 +02:00
|
|
|
|
bash ./start.sh
|
2018-07-14 10:29:32 +02:00
|
|
|
|
```
|
2018-07-14 20:09:56 +02:00
|
|
|
|
### Attention
|
|
|
|
|
This is a demo program; Everytime when you start the demo the database will be reset.
|
|
|
|
|
|
2018-07-14 10:44:39 +02:00
|
|
|
|
## test
|
|
|
|
|
To run the tests execute:
|
|
|
|
|
```bash
|
2018-07-14 16:51:51 +02:00
|
|
|
|
bash ./test.sh
|
2018-07-14 10:44:39 +02:00
|
|
|
|
```
|