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 git@github.com:fsr5-fhaachen/portals.git
cd portals
npm install
composer install
Copy .env.example to .env and fill in the database credentials.
cp .env.example .env
Generate the application key:
php artisan key:generate
Run the migrations:
php artisan migrate
For development, you can use the built-in PHP server:
php artisan serve
and the vite dev server:
npm run dev
If 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=1000
andWWWUSER=1000
to your.env
file and restart the devcontainer - Start the devcontainer, delete the
/vendor
folder (because the step before downloaded the dependencies with the root user. this can cause permission errors later) and reruncomposer install
with 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=5432
and insert yourDB_USERNAME
andDB_PASSWORD
) and runnpm install
,php artisan migrate:fresh --seed
andnpm 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/pint
and try to fix the errors with:
npm run lint:fix
./vendor/bin/pint
You can run the tests with:
vendor/bin/phpunit
You can build the application with:
npm run build
This 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:install
You 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=4
If 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 --seed
You 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.