- PHP-FPM 8.1
- Laravel 10
- Vue, Vuex, i18n
- Sanctum for Authentication (session)
- Fortify
- Docker & Docker Compose
- Nginx
- Mysql
- Redis
- Mailpit (as a test mail driver)
- Redis Queues
- Task Scheduling
- api: serves the backend app (laravel app)
- client: serves the fronted app (vue app)
- webserver: services static content, storage, and passes traffic to api & client containers (proxy)
- mysql: main database connection
- redis: cache driver / queue connection
- mailpit: SMTP server with a web interface to view all mails (just for dev env)
- worker: runs queue workers & crontab
it includes compiling and hot-reloading for development
cp api/.env.dev.example api/.env.dev
// then =>
docker-compose -f docker-compose.yml -f docker-compose.dev.yml up --build
// then =>
// run the migrations
docker exec -it spa-dev-api-1 php artisan migrate --seed
- To access the api open http://localhost:8000
- To access the client open http://localhost:3000
- To access the Mailpit open http://localhost:8025
Compiles and minifies for staging
docker-compose -f docker-compose.yml -f docker-compose.stg.yml up --build
Compiles and minifies for production
docker-compose -f docker-compose.yml -f docker-compose.prd.yml up --build
1) Vue Env Configuration Reference.
- Laravel, Sunctum, and Fortify installations
- Vue & vuex installations
- Login
- Forget & Reset Password
- Update Profile Info
- Update Password
- Setup Laravel Permission
- Roles Module
- Users Module
- Setup Scheduler
- Setup Queue/Workers
- Setup Horizon
- Settings Module
- Real Time Notifications Module
- Real Time Chat Module
Contributions are welcome and will be fully credited.