# Abschlussprojekt Device Manager Timon Lorenz (WIP) The goal of this project is to develop a web application which manages the devices of the Univesity Regensburg. It is currently in devlopment. ## Table of contents 1. Description 2. Instalation - Requirements - Getting Started 3. Usage 4. Testing 5. ## 1 Description (WIP) - Device List - Device Detail - device add - Device History ## 2 Installation In this section, all requirements are defined first. This is followed by a step by step installation. Finally some general information ### Requirements #### Docker ##### 1. Download and install docker engine Follow the instructions on the official [docker website](https://docs.docker.com/engine/install/) ##### 2. Add docker to your startup ```sh sudo systemctl enable docker --now ``` ##### 3. Add your current user to the docker group ```sh sudo usermod -aG docker $USER ``` > `$USER` stands for the current logged in user ##### 4. Restart your computer #### Composer ##### Download and install composer Follow the instructions on the official [composer website](https://getcomposer.org/download/) or install it via apt package repository: ```sh sudo apt-get install composer ``` Make sure you have these php extensions installed: - php-curl - php-xml ### Geting started ##### 1. Clone the repository ```sh git clone https://git.uni-regensburg.de/ase22ws/abschlussprojekt-device-manager-timon-lorenz.git ``` ##### 2. Go in the project directory ```sh cd device-app ``` ##### 3. Install dependencies Install dependencies [source](https://medium.com/@colorfield/install-an-existing-laravel-project-c6e6bf28d5c6) ```sh composer install composer dumpautoload -o ``` If you are facing some issues try to update it first and run `composer install` afterwards again ```sh composer update ``` Make sure you have the mentioned php extensions installed ##### 4. Setup the Environement Copy the .env.example file and create .env file ```sh cp .env.example .env ``` ##### 5. Start the project for the first time This could take a few moments for the first time, later on it only takes a few seconds ```sh vendor/bin/sail up ``` ##### 6. Generate a key Open a new terminal in the project directory and enter the following command while project is still running: ```sh vendor/bin/sail exec laravel.test php artisan key:generate ``` ##### 7. Setup the database To migrate the database use following command: ```sh sail exec laravel.test php artisan migrate ``` If you want to use some random generated sample as well as two users an admin and a test user you have to use the `seed` function ```sh sail exec laravel.test php artisan migrate:refresh --seed ``` ##### 8. View the project Open your browser and go to `http://localhost` and try it out. If you are finished you can stop the `vendor/bin/sail up` terminal via 'strg' + 'C'. ### General #### Troubleshooting If you followed the eight steps correctly the project should work. If you have any trouble installing the project, please let me know or make an issue. #### Bash Alias If you want save some time you can create a shortcut to `vendor/bin/sail` and only use `sail` ##### 1. Open bashrc Go to your home directory and run ```sh nano .bashrc ``` ##### 2. Add shortcut Add following line: ```sh alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail' ``` ## 3 Usage (WIP) - User story ## 4 Testing To test the application run the following code inside the project directory `device-app`: ```sh php artisan test ``` ## 5 Author Timon Lorenz (lot17014) ## 6 License This project is licensed with the MIT license. The used framework [Laravel](https://laravel.com/) and the imported [Log-Viewer](https://github.com/opcodesio/log-viewer/discussions) are also licensed with the MIT license. ## Releasedate latest: 15.04.2023 ## About Laravel is a full feature framework ### security - coss-side-scripting disabled - SQL injection attacks ## ChatGPT see ChatGPT folder #### Challenges Convention, due to given database. Could be easier