mirror of
https://github.com/kevinveenbirkenbach/coding-challenge-online-shop.git
synced 2024-12-22 23:25:03 +01:00
Coding challenge for a online shop
src | ||
docker-compose.yml | ||
Dockerfile | ||
README.md | ||
start.sh | ||
test.sh |
coding-challenge-online-shop
Coding challenge for a online shop
task
requirements
- Create a web application with PHP which works like a really small online shop. ✓
- Create a database with at least 20 products✓ automatically✓ per script. ✓
- Create a product listing which display all products from the database. ✓
The following information are required:
- price net and gross ✓
- image ✓
- product name ✓
- color ✓
- Add a “to the basket” button to each product in the listing. ✓
- Make the product basket work and display all products which are in the basket as a list with small images. ✓
- Create a login and registration with e-mail address, password and a name. ✓
- The login should be session based. ✓
- Create a checkout which is shown when the user is logged in. ✓
- The user should be able to choose between 2 payment methods. ✓
Call them method1 ✓ and method2 ✓. - Store the order at the database. ✓
- 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. ✓
- 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. ✓
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.