The online application is accessible at http://fortnine.mattskelton.ca/
- React for front end
- Tailwind for CSS
- Jest for test runner
- Laravel for back end
- MySQL for database
- PHPUnit for test runner
- designed for mobile and desktop screens
- max 10 items can be added for each product. This was an arbitrary decision used to show some business logic
- the checkout process was not implemented
- all cart items are stored in the database. The session ID was used as the identifier.
- only implemented tax for Quebec (QST and GST)
To bring the application up locally, open your terminal and enter the following commands. You must have Docker and Git installed to continue,
# clone the repository,
git clone https://github.com/waterloomatt/fortnine.git && cd fortnine
# start a container and install the PHP dependencies,
docker run --rm \
-u "$(id -u):$(id -g)" \
-v "$(pwd):/var/www/html" \
-w /var/www/html \
laravelsail/php82-composer:latest \
composer install
# copy and rename the environment file,
cp .env.example .env
# start Laravel Sail,
./vendor/bin/sail up -d
# generate a new key for the application and run the migrations,
./vendor/bin/sail php artisan key:generate
./vendor/bin/sail php artisan migrate:fresh --seed --force
# install the Node dependencies and start the development server,
./vendor/bin/sail npm install
./vendor/bin/sail npm run dev
To run tests,
> back end tests,
./vendor/bin/sail test
> front end tests,
./vendor/bin/sail npm test
If everything goes successfully, you should be able to access the application at http://localhost/