A simple ecommece application for online ECourse. This repository deomstrathe the following features and methodologies during development.
-
Authentication and Authorization
-
Ecourse Catalog
-
Order, Checkout and Payout
- Note that Paypal payment gateway sandboxed is used in live demo.
-
No complete CRUD is applied in Catalog Course microservice, online pre-filled data using facrories and faker data.
- MVC (Model View Controller)
- DTO (Data Transafer Object)
- TDD (Test Driven development)
- Repository & Serives Pattern
- Model Policies
- Docker is used in AWS deployment
- Vite & Vue3, Pinia
- Vuetify (Frot-End CSS framework components)
- Typescript
Download and clone the repository.
git clone git@github.com:moreishi/laravel-simple-ecommerce.git
cd laravel-simple-ecommerce
You must provide your own Paypal sandbox credentials.
VITE_PUSHER_SCHEME="${PUSHER_SCHEME}"
VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
#PayPal API Mode
# Values: sandbox or live (Default: live)
PAYPAL_MODE=
#PayPal Setting & API Credentials - sandbox
PAYPAL_SANDBOX_CLIENT_ID=
PAYPAL_SANDBOX_CLIENT_SECRET=
#PayPal Setting & API Credentials - live
PAYPAL_LIVE_CLIENT_ID=
PAYPAL_LIVE_CLIENT_SECRET=
composer install
npm install
npm run build
./vendor/bin/sail up --build
./vendor/bin/sail arisan migrate:fresh --seed
I will only supply the cloud foundation JSON and not the key.
use the following file json for the Stack.
File: AWS/Cloud Foundation/ec2.json
Once the EC2 is up and running. Install the following pre-requesites stack.
- NPM
- Docker
- Composer
- PHP8.2
- Git
Use the repository for the deployment in EC2
git clone git@github.com:vshloda/docker-laravel.git
cd docker-laravel
Inside "docker-laravel/src" place your files.
git clone git@github.com:moreishi/laravel-simple-ecommerce.git
- Steps 1, 2, 3 and 4
cd cd docker-laravel
docker-compose up --build -d
Thank you for reading the README.md.
We know this is not perfect, if you have something in mind that needs to be done or add. Let me know, thank you.