Skip to content
Snippets Groups Projects
Peter Moser's avatar
Peter Moser authored
b8911cd4
History

Aliens4friends Dashboard

An expandable dashboard to filter and visualize alien4friends license statistics

Basics/Requirements

This project was created based on Laravel 8 & Laravel UI (Vue.js).

https://laravel.com/docs/8.x/ https://laravel.com/docs/7.x/frontend

Vuetify is mainly used as frontend components: https://vuetifyjs.com/

install & run app (dev & production)

sudo docker build . -t af4d -f infrastructure/docker/Dockerfile
sudo docker run -d -p [PORT]:5000 --env APP_ENV=[production|local]

if 'production' is passed as APP_ENV, the app will automatically force ssl/https for all requests. This prevents delivery of resources over http if the app is running behind a load balancer that resolves the certificates itself. use 'local' to develop or use the app without valid https. default is 'production'.

the app is internally accessible via port 5000. Port mapping is done according to individual requirements.

after docker run the app is reachable via hostname:[PORT].

further configuration

Docker container is based on https://hub.docker.com/r/webdevops/php-nginx

Container & configuration details can be found @ https://dockerfile.readthedocs.io/en/latest/content/DockerImages/dockerfiles/php-nginx.html

the configuration of the internal nginx server can be customized @ infrastructure/nginx/a4f.conf.

run/dev without shipped Dockerfile

feel free to use https://laravel.com/docs/8.x/homestead or https://laravel.com/docs/8.x/sail as alternative dev-environments

.env variables

the app runs in docker out of the box without any additional configuration / change of these variables. currently no access data or other sensitive data is required to operate the app.

APP_NAME=String | used as application name by many external Laravel libraries. APP_ENV=production | currently only possible setting with corresponding effect on code. APP_KEY=App-Key | secret key used for encryption. Will be generated automatically by php artisan key:generate. APP_DEBUG=Boolean | always false in production to avoid debug output including sensitive data. APP_URL=http://laravel.test | current base-url. Used e.g. for mail dispatch, external libraries or by console commands as base-url. atm there is no use for this.

Useful information

Structure

The entire project-base was created by code generators and therefore follows the Laravel folder structure: https://laravel.com/docs/8.x/structure

Any dependencies are installed via Composer & Npm. Corresponding dependency source code can be found in the folders /node_modules (JS/Frontend) and /vendor (PHP/Backend).

Individual customisations are mainly, but not exclusively, located in the /resources (JS+CSS) and /app (PHP) folders.