An adventure in Java. A reimplementation of site-rear
in Java, Springboot.
Note: This is currently a POC. This is not intended to replace the current API Server. Reference API Document: api-ref.md
- Performance test respective APIs
- Mirror the API of site-rear as well as possible
- Java 17 (Hint: Use sdkman for quick setup)
- Postgres DB
- It must be database-compatible with the existing
site-rear
project.
- It must be database-compatible with the existing
- JWT-based authentication
- it must be able to use at least the same auth methods as
site-rear
- it must be able to use at least the same auth methods as
- API field names have been updated and API shape has been normalized.
- This is just the consequence of using a strongly typed language.
- API verbs have been normalized.
- Eg.
events
is nowevent
- Eg.
- JWTs expire after some time.
- Basic authentication has been added.
- Actuator - Health, Info and Metrics:
- Each API Endpoint (Except root) is timed
- (Dev) Tests!
- Install Java 17. SDKMan is a good way to start.
- Connect to local DB with
ssh -L 5442:localhost:5442 -N [email protected]
- Copy and put
application-local.properties
intosrc/main/resources
. It will have local DB configurations - Use any IDE - VSCode/IntelliJ.
- VSCode: Add the following configuration to
launch.json
under theconfigurations
array:{ "type": "java", "name": "SiteRearNouveauApplication", "request": "launch", "mainClass": "org.ieeervce.api.siterearnouveau.SiteRearNouveauApplication", "projectName": "site-rear-nouveau", "env": { "SPRING_PROFILES_ACTIVE": "local" } }
- IntelliJ: Set the active profiles to
local
- VSCode: Add the following configuration to
- Start the project with
SPRING_PROFILES_ACTIVE=local ./gradlew bootRun
- JWT and Basic auth supported