Skip to content

Commit 62c5357

Browse files
committed
chore: update readme
1 parent d488315 commit 62c5357

File tree

1 file changed

+23
-11
lines changed

1 file changed

+23
-11
lines changed

README.md

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,43 @@
1+
# Springboot Best Practice
2+
13
This is a minimal Spring Boot application built with standard best practices. It includes JWT bearer token authentication via Spring Security, supports auto-reloading .env configuration, and provides clean, self-documented APIs using Swagger/OpenAPI. Designed as a lightweight foundation for scalable, secure RESTful services.
24

3-
### Features
5+
## Features
6+
7+
### ✅ JWT Authentication using Spring Security And Oauth2 Resource Server
48

5-
**JWT Authentication using Spring Security And Oauth2 Resource Server**
69
Implements stateless authentication with JSON Web Tokens for robust and secure REST API access control. By fully leveraging Spring Security and the OAuth2 Resource Server capabilities, this approach minimizes complexity and avoids reinventing boilerplate code—ensuring a clean, maintainable, and production-ready security setup.
710

8-
**Token issuance follows RFC 7617 using HTTP Basic Authentication**
11+
### ✅ Token issuance follows RFC 7617 using HTTP Basic Authentication
12+
913
Implements token issuance by authenticating clients via HTTP Basic Authentication as defined in RFC 7617. This standard method securely transmits client credentials to the token endpoint, ensuring trusted clients can obtain tokens safely and efficiently.
1014

11-
**Secure refresh token handling — blacklists tokens after use or on logout**
15+
### ✅ Secure refresh token handling — blacklists tokens after use or on logout
16+
1217
Implements refresh token revocation by blacklisting used or explicitly revoked tokens to prevent reuse and enhance security.
1318

14-
**Environment variable mapping via `.env` to Spring properties**
19+
### ✅ Environment variable mapping via `.env` to Spring properties
20+
1521
Supports reading configuration from a `.env` file and mapping it to Spring's `${...}` placeholders—ideal for managing environment-specific settings. this can be done with dependency [Spring dot-env](https://github.com/paulschwarz/spring-dotenv)
1622

17-
**Swagger/OpenAPI docs for clean, self-documented APIs**
23+
### ✅ Swagger/OpenAPI docs for clean, self-documented APIs
24+
1825
Generates interactive API documentation automatically with Swagger UI, making endpoints easy to explore and test.
1926

20-
**Maven Spotless for automatic code formatting**
27+
### ✅ Maven Spotless for automatic code formatting
28+
2129
Integrates Maven Spotless plugin to enforce consistent code style and automatically format your code to standard conventions, improving readability and maintainability.
2230

23-
**Git commit metadata integration**
31+
### ✅ Git commit metadata integration
32+
2433
Uses `io.github.git-commit-id` dependency to generate `git.properties` at build time, enabling the app to expose Git commit info for version tracking and diagnostics.
2534

26-
**Database migration with Flyway**
35+
### ✅ Database migration with Flyway
36+
2737
Includes Flyway dependency with base configuration, initial SQL migration scripts, and Docker Compose setup for seamless database version control and automated schema updates.
2838

29-
**Out-of-the-box CORS setup via application properties**
39+
### ✅ Out-of-the-box CORS setup via application properties
40+
3041
CORS configuration can be easily managed through application.properties. Just enable or disable the config
3142

3243
```
@@ -37,7 +48,8 @@ cors.method.allowed=${CORS_METHOD_ALLOWED:*}
3748
3849
```
3950

40-
**Integration testing with Testcontainers**
51+
### ✅ Integration testing with Testcontainers
52+
4153
Supports full integration tests using Testcontainers, including auto-configuration with `@ServiceConnection`. This allows isolated, reproducible testing against real services like PostgreSQL or Redis in disposable Docker containers.
4254

4355
Perfect as a starter template for any Java backend project!

0 commit comments

Comments
 (0)