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_KEY
using
php artisan key:generate
-
Change
DB_HOST=mysql
in .env to your MySQL server IPOptional: change DB name or username/password to your preferred values
-
Run
php artisan migrate:fresh --seed
to generate DB tables with data orphp artisan migrate
orphp artisan migrate --seed
to 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 install
in 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 serve
to 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
.env
file and change variables for DB, Azure Storage and mail provider - Change backend url in frontend
.env
file - 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.