Group allocation tool for the first week of the Department of Electrical Engineering and Information Technology at the FH Aachen - University of Applied Sciences.
Clone the repository and install the dependencies:
git clone [email protected]:fsr5-fhaachen/portals.git
cd portals
npm install
composer installCopy .env.example to .env and fill in the database credentials.
cp .env.example .envGenerate the application key:
php artisan key:generateRun the migrations:
php artisan migrateFor development, you can use the built-in PHP server:
php artisan serveand the vite dev server:
npm run devIf you want to use the provided devcontainer via laravel sail you need vscode and the devcontainer extension.
if you want to setup the devcontainer without installing tools to your host system, you can use the following steps:
- Install sail with
docker run --rm -it -v $PWD:/app bitnami/laravel -- composer install - Start the devcontainer, if you get the error message
groupadd: invalid group ID 'sail', addWWWGROUP=1000andWWWUSER=1000to your.envfile and restart the devcontainer - Start the devcontainer, delete the
/vendorfolder (because the step before downloaded the dependencies with the root user. this can cause permission errors later) and reruncomposer installwith the "sail" user in the devcontainer - Run the mandatory setup (set app key (see install), add db host to
.env(in this case useDB_CONNECTION=pgsql, DB_HOST=pgsql, DB_PORT=5432and insert yourDB_USERNAMEandDB_PASSWORD) and runnpm install,php artisan migrate:fresh --seedandnpm run dev).
To generate the typescript types for the frontend, run:
Warning
The command output changed with update to Laravel 11.x. Please verify the output before using.
php artisan types:generate --namespace="App.Models" --outputDir="./resources/js/types/"You can lint the code with the following commands:
npm run lint
./vendor/bin/pintand try to fix the errors with:
npm run lint:fix
./vendor/bin/pintYou can run the tests with:
vendor/bin/phpunitYou can build the application with:
npm run buildThis project uses laravel octane with frankenphp (roadrunner in earlier releases) as production server. You can install the server with:
This step will also ask you to download the frankenphp (roadrunner in earlier releases) binary.
php artisan octane:installYou can run the production server with: Define the worker-count and max-requests to fit your needs.
php artisan octane:start --max-requests=512 --workers=4If you want to use docker, use the following commands:
docker build -t ghcr.io/fsr5-fhaachen/portals:latest .
docker-compose up -d
docker exec -it portals-web touch database/seeders/tutors.csv
docker exec -it portals-web php artisan migrate:fresh --seedYou can deploy the application to kubernetes using the helm chart.
See fsr5-fhaachen/charts/portals for more information.
If you want information about creating the kubernetes cluster, see deploy information.
π€ Titus Kirch (main author)
- Website: https://kirch.dev/
- LinkedIn: Titus Kirch
- Twitter: @TitusKirch
- GitHub: @TitusKirch
π€ Benedikt Haas (main author)
- LinkedIn: Benedikt Haas
- GitHub: @BenediktHaas96
π€ Simon Ostendorf (main author)
- Website: https://simon-ostendorf.de/
- LinkedIn: Simon Ostendorf
- GitHub: @simonostendorf
π€ Martin Philemon Pinsdorf
- GitHub: @PhilPinsdorf
π€ Vitor Macedo
- GitHub: @DontEdit
π€ Patrik Schmolke
- LinkedIn: Patrik Schmolke
- GitHub: @Rec0gnice
Show here to see the full list of contributors who participated in this project.
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
Give a βοΈ if this project helped you!
Copyright Β© 2022 fsr5-fhaachen.
This project is MIT licensed.