This is an auto-generated project template.
To build this project run the following from the command line
mvn clean install- To utilise Google OAuth2.0 you will need to create a google account then go here
- Click Create Credentials and select Oauth client ID

- Select External then click Create

- Fill in the details of your domain / server:

- Add the scope for the users email

- Add test users:

- Go back to the dashboard and create OAuth client ID again (confusing yes I know)

- Select Web application and add the redirect URIs using the following paths but replace your server domain details:

- Set the client ID and Client secret in the application.yml (use the PropertyEncryptionUtil to encrypt it)
- Create an environment variable called ENC_PASSWORD which stores your encryption password (keep this safe - obvs)
- Create an encrypted password and set it as the tokenSecret in the application.yml
To utilise Apple OAuth2.0, then strap in buster, it's gonna get rough:
- Create an account with Apple Developer. This will cost you £70 a year (possibly different where you live) because Apple hate you and want your family to die.
- When you are all registered and signed up go to the Identifier Page
- In the top right next your name is your TeamID. Copy this and set it as the teamId in the application.yml under the apple section

- Under the Identifiers section ensure "App Id" is selected on the right and then click the add button.

- Select "App Ids" then continue

- Select "App" type then continue

- Enter a description and a BundleID (in reverse domain stylee) but DONT PRESS CONTINUE YET

- Scroll down to "Sign in with Apple", make sure its selected

- Now scroll back up and click Continue
- Then check details and click Register:

- Next go back to the identifiers page and ensure "Serivce Ids" is selected from the drop down on the right, then click add

- Add the details as with the application ID but extend with "Service" (you dont have to do this but makes it easier to distinguish). Click Continue, then Register on the next page

- Back on the identifiers screen, click on your newly created service:

- Enable sign in with Apple then click "Configure"

- In the config dialog, make sure your App Id you just created is selected, enter your domain (without protocol prefix), then add the full URL to the call back (https://whateveryourdomainis.com/api/oauth2/callback/apple) - only change the domain, keep the path the same!

- Click through Continue, then "Save":

- Now go to the keys menu then click the add button:

- Enter a key name, select the "Sign in with Apple" and click "Configure"

- Make sure your app id is selected then click Save:

- Then click continue:

- Then Register:

- You will then be prompted to download your key. Download the file and place it here: webapp/src/main/resources/security/oauth/apple DO NOT RENAME THE FILE!
- In the application.yml set the keyId to be the same as the Key ID for the key you created (this will be the same code that is in the filename of the downloaded key):

- And finally set the clientId in application.yml to be the serivceId which in this example was com.myapplication.service

- Build and deploy to your domain and then when you follow the apple oAuth link (generated from here) for apple, then quicker than you can say "fuck me that was a colossal ball-ache and infinitely more difficult and expensive than setting up Google Oauth why did I even get into computing in the first place I should have been a dancer or something", then it should authenticate you.
Once built run the following:
java -jar webapp/target/react-springboot-appengine-template-*.jarOnce started you should be able to view the following:
- The running app: http://localhost:8080
- swagger api documentation: http://localhost:8080/swagger-ui.html
- swagger api definition json: http://localhost:8080/v2/api-docs
cd ui
npm run storybookAfter a short while you should see a browser window open displaying a storybook app that allows you to test the UI components
You can test your docker script locally with the folloing command:
docker build -t maven-caching .Good luck. We're all counting on you
