# FPSMS Backend

## Getting started
1. Create a schema named `fpsmsdb` in MySQL workbench
2. Create a `launch.json` file and put it into the `.vscode` folder
```json
{
    "version": "0.2.0",
    "configurations": [
      {
        "type": "java",
        "name": "FpsmsApplication",
        "request": "launch",
        "mainClass": "com.ffii.fpsms.fpsmsApplication",
        "projectName": "FPSMS-backend"
      },
      {
        "type": "java",
        "name": "Launch Local",
        "request": "launch",
        "mainClass": "com.ffii.fpsms.fpsmsApplication",
        "console": "internalConsole",
        "projectName": "FPSMS-backend",
        "args": "--spring.profiles.active=db-local,ldap-local"
      }
    ]
}
```
3. Create a `settings.json` file and put it into the `.vscode` folder
   *(You may need to change some settings depending on your development environment)*
```json
{
    "java.configuration.updateBuildConfiguration": "interactive",
    "java.jdt.ls.java.home": "C:\\java\\jdk-17.0.8",
    "java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx2G -Xms100m -Xlog:disable"
}
```

4. Run and Debug "Launch Local"

## Using gradle

This project can also be run using gradle.

### Running the application
After creating the table in MySQL, run
```shell
./gradlew bootRun --args='--spring.profiles.active=db-local'
```
