Disclaimer: WoodLess is a fictional service. Orders will not be fulfilled. Do not enter personal or sensitive information on Official Deployment.
Developed using Laravel, WoodLess is an E-commerce website intended to facilitate the online transactions and sales of an eco-friendly furniture company.
It's aim is the distribution of furniture, designed with the environment in mind. This includes the use of sustainable materials, eco-friendly manufacturing processes, and targeting consumers who prioritize environmentally responsible products.
WoodLess strives to offer a user-friendly experience, enabling users to make safe and easy purchases on a range of available furniture products.
As of 26/02/2024, A public deployment of the website is available at: 20216407.cs2410-web01pvm.aston.ac.uk.
This project contains guides to speed up development and deployment.
- Getting Started - Instructions for deploying WoodLess on your web server.
- Database - Instructions and information on WoodLess' database.
- Testing - Instructions and information on testing WoodLess.
- For Laravel or other built-in features, please refer to the relevant documentation.
WoodLess has a complete and in-depth user experience, from login to checkout:
- Fully responsive UI using CSS and Bootstrap
- Authentication and Registration
- Email Verification
- User Account Management
- Navigation of Catalogue
- Search and Filtering
- Store and Modify Products in Basket
- Purchase Products via Checkout
- Track Orders
- Leave Reviews of Product/Service
- Contact Support or Business
- Create Support Tickets
- Add any other features here
WoodLess offers robust administration features, while remaining accessible and user-friendly:
- Add features here
WoodLess uses the powerful Eloquent ORM to ensure safe and streamlined database interactions, enabling rapid deployment and full CRUD functionality. For testing, WoodLess comes with built-in products and model factories that can be seeded to a target database.
- For more information, see the guide on Database.
To make our work as accessible as possible, all models and methods written by the team have proper documenting with PHPDoc and/or commenting.
This guide assumes you are familiar with PHP web development environments (such as XAMMP) and have cloned/copied the repository to one. You will also need access to a MySQL server and Composer.
- The .github folder is not necessary for WoodLess to be functional.
The file .env declares the app environment, so it is important to set this up first.
- Rename
.env.example
in the project root folder to.env
. - In
.env
, modifyAPP_URL
(Line 5) to your server's domain name. This can usually be left ashttp://localhost
if you are running locally. - Modify lines 12-17 to match the information of your target database. This will be the database that the project will use and connect to.
- Modify lines 31-38 to match the information of an email account to be used by WoodLess for sending emails.
- Modify lines 61-62 to match the information of a Stripe public and private key. You will need to setup a Stripe developer account to generate these if you have not been provided any (if you are a developer this it's on our discord). This is used by WoodLess to handle transactions.
- Go to the WoodLess directory in a terminal. Run
composer install
to ensure the project is set up correctly. You may also wish to runcomposer update
. - Run the command
php artisan key:generate
. This will generate an app key unique to your project installation.
Before you can run the website, the database needs to be setup.
- Ensure your target MySQL server is running, and you have created a database that matches the one specified in
.env
. - Go to the WoodLess directory in a terminal. Run
php artisan migrate
. This will build the tables required by the website in your database.
- For additonal database information and commands, including test data, see the guide on Database.
- Go to the WoodLess directory in a terminal. Run
php artisan serve
. - If everything is setup correctly, you will be able to access WoodLess with the provided link in your terminal.
WoodLess was developed by eight students at Aston University, who possess a strong understanding of Web Development, PHP and Laravel.
WoodLess is open-sourced software licensed under the MIT License.