Docker compose to setup php and mysql for Laravel 8.
Function:
- Cart CRUD
- Auth Signup, Login, Logout
- Checkout
- VIP Discount
- Check Quantity
Demo:
https://www.youtube.com/watch?v=ko44wq1JANk
- Ubuntu 22.04
- Docker 20.10.18
ecommerce-laravel
├── ...
├── Makefile
├── Dockerfile
├── docker-compose.yml
├── .env
├── php.ini
└── images
...
: Laravel files. Use Laravel-8.1.0.images
: README.md images..env
: Copy and edit from.env.example
.
- php → php:7.4-fpm-alpine
- mysql → mysql:5.7.22
- Deploy php-fpm, and mysql using Makefile
make up
- Stop all containers
make stop
- Close all containers
make down
- Remove all containers and images
make rm
- Restart (Rebuild all images and containers)
make restart
- go in
php
docker exec -it ecommerce-backend sh /var/www $ # write `php artisan` and `composer` code, for example: /var/www $ php artisan migrate /var/www $ composer dump-autoload
- go in
mysql
docker exec -it ecommerce-db mysql -u root -p Enter password: mysql>
export the SQL structure
docker exec -it ecommerce-db mysqldump -u root -proot --no-data -d chart > chart.sql
draw diagram in dbdiagram
- Swagger
- UML
- Add Contrained cart_id, product_id to cartItems
- Create SuperUser
- Set User Level API
- Fix Product CUD
- Review MVC and
php artisan
command - Nginx
- Grafana + AlertManager