A fully-functional coffee shop website, inspired by Starbucks. It was built from scratch without any off-the-shelf PHP framework. A high-level summary of the functionalities includes:
- User registration and authentication
- Product browsing and search
- Product details and reviews
- Shopping cart management
- Order history and tracking
- User account management
- Administrative functions
For more details, see the software requirements specification.
This repository contains the code for the client website and the API. The code for the admin website is found in a separate repository.
- MVC pattern
- Semantic URL routing
- Email-based password recovery
- Email notification on checkout
- Integration testing with phpUnit
- Mobile-responsive website
- Utilizes Webpack for efficient code bundling and compatibility with older browsers.
- Product review system with nested comments
- Fuzzy searching on shop page
- Pagination
- SEO optimized
- REST API
- API testing with Guzzler and phpUnit
All documentation (installation instructions, usage guide, ...) is available in the docs
folder.
The file structure of this project is an adaptation of the php-pds/skeleton
filesystem, which is
licensed under the Creative Commons
Attribution-ShareAlike
4.0 International License. Please see the LICENSE file for details on the original license.
This project was developed as part of an educational assignment and is not production-ready. Please note that the project is currently incomplete, and no further development is planned.
- Product images come from https://www.starbucks.com/.
- Icons come from https://tabler.io/icons.
- Resources used for MVC pattern:
- The filesystem was inspired by https://github.com/php-pds/sklseleton
- Additional references are included within the code itself.