## Before you start this application 1. You have to install Maven: 1. Have a JDK installation on your system. Either set the JAVA_HOME environment variable pointing to your JDK installation or have the java executable on your PATH. 2. Download zip from here [https://maven.apache.org/download.cgi] 3. Extract distribution archive in any directory 4. Unzip apache-maven-3.9.7-bin.zip 5. Add the bin directory of the created directory apache-maven-3.9.7 to the PATH environment variable. 6. Confirm with ```mvn -v``` in a new shell. The result should look similar to ```Apache Maven 3.9.7 (8b094c9513efc1b9ce2d952b3b9c8eaedaf8cbf0) Maven home: /opt/apache-maven-3.9.7 Java version: 1.8.0_45, vendor: Oracle Corporation Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre Default locale: en_US, platform encoding: UTF-8 OS name: "mac os x", version: "10.8.5", arch: "x86_64", family: "mac"``` 2. You have to install node: 1. Download the installer here [https://nodejs.org/en/download/prebuilt-installer] 2. Click through the installer 3. Confirm with ```node -v``` in a new shell. The result should look similar to ```v20.14.0``` 4. Confirm with ```npm -v```. The result should look similar to ```10.7.0``` 3. If using Chrome, you have to install a extension: 1. Download extension here [https://chromewebstore.google.com/detail/allow-cors-access-control/lhobafahddgcelffkeicbaginigeejlf] 2. Activate extension ## How to start this application 1. Open up project in VSCode 2. Open up a terminal 3. Type: ```./mvnw spring-boot:run``` 4. Open up another terminal 5. Type: ```cd frontend``` 6. If running for the first time, Type: ```npm install``` 7. Type: ```npm run start``` (for dev) or ```npm run build``` (for production) ## How to stop this application 1. Go to both Terminals 2. Press ```Ctrl + C``` 3. Type: ```j``` 4. Deactivate Chrome extension ## Troubleshooting 1. There are errors all over the backend.
You have to reload the Maven project. In VSCode navigate to "Maven" on the lower left corner and press the reload button.