Das Qualifikations-Tool bietet viele Funktionen, welche deinen Qualifikations-Prozess bei einem J+S-Kurs vereinfachen:
Das Tool ist ein PHP-Projekt basiernd auf dem Framework Laravel. Um es lokal auszuführen brauchst du einen Docker Container.
Um das Tool lokal bei dir benutzen zu können musst du den Quellcode herunterladen und mittels Laravel Sail starten:
# clone the GitRepo
git clone https://github.com/cevi/qualifikation
cd qualifikation
# install the dependencies
docker run --rm \
-u "$(id -u):$(id -g)" \
-v $(pwd):/var/www/html \
-w /var/www/html \
laravelsail/php81-composer:latest \
composer install --ignore-platform-reqs
cp .env.example .env
# launch the application
./vendor/bin/sail up
# initialize the database (in another terminal)
./vendor/bin/sail artisan migrate --seed
Anschliessend kannst du dein Tool unter http://localhost aufrufen.
To run the app in production-mode, use the following command (this also works on your local machine):
docker compose -f docker-compose.prod.yml up --build [-d]
The CI/CD pipeline will automatically deploy the app to the production server upon a push to the master
branch.
See .github/workflows/prod_build.yml
for more information.
The dev and production environment differs quite a bit. In production, we split the web server into two containers: a php-fpm container a nginx webserver
Thus, we have to share the files stored within /storage/app/public
with the nginx server to make them publically
accessible. This is done via shared docker volume.
In a Docker setup all memory is volatile by default, i.e. all stored data is lost during a redeployment (e.g. deployment of a new version). We can mount specific folders as volumes to prevent such data losses. Currently we save:
/storage/app/public
folder/storage/app/files
folderall other data is volatile.
The Laravel framework is open-sourced software licensed under the MIT license.