Team project focused on developing event based calendar for university using Vue.js, Laravel and Docker for deployment.
We are using Azure DevOps for CI/CD and after successful build, services are automatically deployed to our Azure VM running Ubuntu 18.04 (Standard B1ms (1 vcpus, 2 GiB memory)).
- frontend - http://40.127.143.10:80
- backend - http://40.127.143.10:8000
- http://tp1project.northeurope.cloudapp.azure.com
- Adam Zverka - team leader, continuous integration and deployment, frontend
Dušan Angelovič - backend, testing- Kristián Kluka - backend, SW architect related tasks
- Ľudovít Laca - backend, DB design
- Martin Gajdoš - design, frontend
- Install Composer and XAMPP (php version 7.2)
- Install required packages using Composer
composer install- Create .env file in /backend from .env.example and generate
APP_KEYusing
php artisan key:generate-
Change
DB_HOST=mysqlin .env to your MySQL server IPOptional: change DB name or username/password to your preferred values
-
Run
php artisan migrate:fresh --seedto generate DB tables with data orphp artisan migrateorphp artisan migrate --seedto migrate tables and again run seeders -
Run
php artisan passport:keys(orphp artisan passport:install) to generate files and keys required for Laravel Passport
Attention! Azure Storage and Mailtrap access keys are required for backend to work
Notes:
php artisan route:list to show every route
- Install Node.js and npm
- Run
npm installin project folder to install required dependencies - In frontend .env configuration change API endpoint
VUE_APP_BACKEND_URL=to your local address (probablyhttp://localhost/TP1-project/backend/public/api), also do not commit your changes in this file - Run
npm run serveto start frontend in development mode onlocalhost:8080
Our Docker setup is primarily used for deployment server and some extra setup may be required for proper functioning on your local setup. Our deployment is automated by using Azure DevOps release pipeline.
- Create your backend
.envfile and change variables for DB, Azure Storage and mail provider - Change backend url in frontend
.envfile - Build new Docker containers using
docker-compose up --build --force-recreate -d - After MySQL is running you can exec extra php artisan commands for DB migration and passport
docker-compose exec backend php artisan migrate:fresh --seed
docker-compose exec backend php artisan passport:install --force
These steps are automated in our release pipeline and because of time constraints and Docker setup not being required, we did not move some of these commands to Dockerfiles.


