Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
b33bccb
#64 | Hendi Santika | Upgraded into Spring Boot 2.7.7 version ✏️ πŸ“— πŸ³β¬†
hendisantika Jan 20, 2023
67ab749
#64 | Hendi Santika | Adjust with latest Spring boot ✏️ πŸ“— πŸ³β¬†:bowtie:
hendisantika Jan 20, 2023
b01b89a
#64 | Hendi Santika | Modify WebSecurityConfig ✏️ πŸ“— 🐳:panda_face:
hendisantika Jan 20, 2023
71f3f23
#64 | Hendi Santika | Modify SwaggerConfig ✏️ πŸ“— 🐳:octocat:
hendisantika Jan 20, 2023
0589a2e
#64 | Hendi Santika | Adjust Swagger Entity Model ✏️ πŸ“— 🐳:octocat:
hendisantika Jan 20, 2023
827e4a8
#64 | Hendi Santika | Adjust Swagger Controller ✏️ πŸ“— 🐳:octocat:
hendisantika Jan 20, 2023
5d608fc
#64 | Hendi Santika | Tidy Up the codes ✏️ πŸ“— πŸ³β¬†
hendisantika Jan 30, 2023
d044fd6
#64 | Hendi Santika | Upgraded into Spring Boot 2.7.8 version ✏️ πŸ“— πŸ³β¬†
hendisantika Jan 30, 2023
ac9a8e3
#64 | Hendi Santika | Change port ✏️ πŸ“— πŸ³β¬†
hendisantika Feb 4, 2023
b916b1e
#64 | Hendi Santika | Modify configs ✏️ πŸ“— πŸ³β¬†:one:
hendisantika Feb 9, 2023
b9c85ba
Merge branch 'isopropylcyanide:master' into master
hendisantika Jul 12, 2025
1d530d1
#66 | Hendi | feat: Upgraded into Spring Boot 3.4.0 version πŸ«ΈπŸŒ€βœοΈπŸ“—πŸ§πŸ³β¬†
hendisantika Jul 12, 2025
478ed3c
#66 | Hendi | feat: Upgraded into Spring Boot 3.4.1 version πŸ«ΈπŸŒ€βœοΈπŸ“—πŸ§πŸ³β¬†
hendisantika Jul 12, 2025
2df2f07
#66 | Hendi | feat: Upgraded into Spring Boot 3.4.2 version πŸ«ΈπŸŒ€βœοΈπŸ“—πŸ§πŸ³β¬†
hendisantika Jul 12, 2025
cdeb049
#66 | Hendi | feat: Upgraded into Spring Boot 3.4.3 version πŸ«ΈπŸŒ€βœοΈπŸ“—πŸ§πŸ³β¬†
hendisantika Jul 12, 2025
4339864
#66 | Hendi | feat: Upgraded into Spring Boot 3.4.4 version πŸ«ΈπŸŒ€βœοΈπŸ“—πŸ§πŸ³β¬†
hendisantika Jul 12, 2025
ee3c58c
#66 | Hendi | feat: Upgraded into Spring Boot 3.4.5 version πŸ«ΈπŸŒ€βœοΈπŸ“—πŸ§πŸ³β¬†
hendisantika Jul 12, 2025
9b66166
#66 | Hendi | feat: Upgraded into Spring Boot 3.4.6 version πŸ«ΈπŸŒ€βœοΈπŸ“—πŸ§πŸ³β¬†
hendisantika Jul 12, 2025
6077d8c
#66 | Hendi | feat: Upgraded into Spring Boot 3.4.7 version πŸ«ΈπŸŒ€βœοΈπŸ“—πŸ§πŸ³β¬†
hendisantika Jul 12, 2025
9ce98b9
#66 | Hendi | feat: Upgraded into Spring Boot 3.4.8 version πŸ«ΈπŸŒ€βœοΈπŸ“—πŸ§πŸ³β¬†
hendisantika Jul 12, 2025
bdcf0e8
#66 | Hendi | feat: Upgraded into Spring Boot 3.4.9 version πŸ«ΈπŸŒ€βœοΈπŸ“—πŸ§πŸ³β¬†
hendisantika Jul 12, 2025
2b8bd6e
#66 | Hendi | feat: Upgraded into Spring Boot 3.5.0 version πŸ«ΈπŸŒ€βœοΈπŸ“—πŸ§πŸ³β¬†
hendisantika Jul 12, 2025
80ec562
#66 | Hendi | feat: Upgraded into Spring Boot 3.5.1 version πŸ«ΈπŸŒ€βœοΈπŸ“—πŸ§πŸ³β¬†
hendisantika Jul 12, 2025
0999fcc
#66 | Hendi | feat: Upgraded into Spring Boot 3.5.2 version πŸ«ΈπŸŒ€βœοΈπŸ“—πŸ§πŸ³β¬†
hendisantika Jul 12, 2025
288eb17
#66 | Hendi | feat: Upgraded into Spring Boot 3.5.3 version πŸ«ΈπŸŒ€βœοΈπŸ“—πŸ§πŸ³β¬†
hendisantika Jul 12, 2025
6da2e57
#66 | Hendi | feat: Add MySQL Docker compose.yml file πŸ«ΈπŸŒ€βœοΈπŸ“—πŸ§πŸ³β¬†
hendisantika Jul 12, 2025
96dba96
#66 | Hendi | fix: Adjust packages πŸ«ΈπŸŒ€βœοΈπŸ“—πŸ§πŸ³β¬†
hendisantika Jul 12, 2025
a105fbc
#66 | Hendi | fix: MySQL profile πŸ«ΈπŸŒ€βœοΈπŸ“—πŸ§πŸ³β¬†
hendisantika Jul 14, 2025
6ee1cca
#66 | Hendi | fix: PostgreSQL profile πŸ«ΈπŸŒ€βœοΈπŸ“—πŸ§πŸ³β¬†
hendisantika Jul 14, 2025
8465386
#68 | Hendi | feat: Setup GitHub Action πŸ«ΈπŸŒ€βœοΈπŸ“—πŸ§πŸ³β¬†
hendisantika Jul 14, 2025
ed8bec9
#69 | Hendi | feat: Add DependabotπŸ«ΈπŸŒ€βœοΈπŸ“—πŸ§πŸ³β¬†
hendisantika Jul 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
version: 2
updates:
- package-ecosystem: maven
directory: "/"
schedule:
interval: daily
time: '05:00'
timezone: Asia/Jakarta
open-pull-requests-limit: 10
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
time: '05:00'
timezone: Asia/Jakarta
open-pull-requests-limit: 10
35 changes: 35 additions & 0 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

name: Java CI with Maven

on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
cache: maven
- name: Build with Maven
run: mvn -B package --file pom.xml

# Optional: Uploads the full dependency graph to GitHub to improve the quality of Dependabot alerts this repository can receive
- name: Update dependency graph
uses: advanced-security/maven-dependency-submission-action@571e99aab1055c2e71a1e2309b9691de18d6b7d6
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@
*.iws
*.iml
*.ipr
mysql_data
.output.txt
postgres_data

### NetBeans ###
/nbproject/private/
Expand Down
48 changes: 48 additions & 0 deletions compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
services:
# mysql:
# image: mysql:9.3.0
# container_name: Spring-JWT-Auth
# environment:
# MYSQL_ROOT_PASSWORD: yu71
# MYSQL_DATABASE: login_db
# MYSQL_USER: yu71
# MYSQL_PASSWORD: 53cret
# ports:
# - "3309:3306"
# volumes:
# - ./mysql_data:/var/lib/mysql
# command: --default-authentication-plugin=mysql_native_password
# healthcheck:
# test: [ "CMD", "mysqladmin", "ping", "-h", "localhost" ]
# interval: 10s
# timeout: 5s
# retries: 5

postgres:
image: postgres:17.5-alpine3.22
container_name: postgres175
environment:
POSTGRES_DB: login_db
POSTGRES_USER: yu71
POSTGRES_PASSWORD: 53cret
ports:
- "5433:5432"
volumes:
- ./postgres_data:/var/lib/postgresql/data
# healthcheck:
# test: ["CMD-SHELL", "pg_isready -U postgres"]
# interval: 10s
# timeout: 5s
# retries: 5
networks:
- auth-network

volumes:
# mysql_data:
postgres_data:

networks:
auth-network:
name: auth-network
driver: bridge

87 changes: 64 additions & 23 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.8</version>
<version>3.5.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

Expand Down Expand Up @@ -53,16 +53,12 @@
<!--Build-->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<java.version>21</java.version>

<!--Build-->
<jjwt.version>0.9.1</jjwt.version>
<jjwt.version>0.11.5</jjwt.version>
<log4j.version>1.2.17</log4j.version>
<spring.boot.version>2.7.7</spring.boot.version>
<freemarker.version>2.3.28</freemarker.version>
<swagger.version>3.0.0</swagger.version>
<expiring.map.version>0.5.10</expiring.map.version>
<junit5.version>5.9.0</junit5.version>

<!--Sonar / Code Coverage-->
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
Expand Down Expand Up @@ -97,16 +93,14 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>

Expand All @@ -132,8 +126,20 @@
<!--Jwt-->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<artifactId>jjwt-api</artifactId>
<version>${jjwt.version}</version>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-impl</artifactId>
<version>${jjwt.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-jackson</artifactId>
<version>${jjwt.version}</version>
<scope>runtime</scope>
</dependency>

<!-- For Java 8 Date/Time Support -->
Expand All @@ -146,34 +152,44 @@
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
<version>${spring.boot.version}</version>
</dependency>

<!--Template engine-->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>${freemarker.version}</version>
</dependency>

<!--SpringDoc Swagger UI-->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.6.14</version>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.8.8</version>
</dependency>
<!--Expiring Map-->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-security</artifactId>
<version>1.8.0</version>
</dependency>

<!--ExpiringMap-->
<dependency>
<groupId>net.jodah</groupId>
<artifactId>expiringmap</artifactId>
<version>${expiring.map.version}</version>
<version>0.5.10</version>
</dependency>

<!--Caffeine Cache (replacement for ExpiringMap)-->
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
<version>3.1.8</version>
</dependency>

<!--jUnit5-->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>${junit5.version}</version>
<scope>test</scope>
</dependency>

Expand All @@ -189,6 +205,28 @@
<artifactId>guava</artifactId>
<version>23.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-docker-compose</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
</dependencies>

<build>
Expand Down Expand Up @@ -220,13 +258,16 @@
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.accolite.pru.health.AuthApp.AuthAppApplication</mainClass>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
<source>21</source>
<target>21</target>
</configuration>
</plugin>
</plugins>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.data.jpa.convert.threeten.Jsr310JpaConverters;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;


@SpringBootApplication
@EntityScan(basePackageClasses = {
AuthAppApplication.class,
Jsr310JpaConverters.class
AuthAppApplication.class
})
@EnableJpaRepositories(basePackages = "com.accolite.pru.health.AuthApp.repository")
public class AuthAppApplication {

public static void main(String[] args) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.accolite.pru.health.AuthApp;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.FilterType;

@SpringBootApplication(exclude = {
DataSourceAutoConfiguration.class,
HibernateJpaAutoConfiguration.class,
SecurityAutoConfiguration.class
})
@ComponentScan(
basePackages = "com.accolite.pru.health.AuthApp",
excludeFilters = {
@ComponentScan.Filter(type = FilterType.REGEX, pattern = "com\\.accolite\\.pru\\.health\\.AuthApp\\.controller\\..*"),
@ComponentScan.Filter(type = FilterType.REGEX, pattern = "com\\.accolite\\.pru\\.health\\.AuthApp\\.service\\..*"),
@ComponentScan.Filter(type = FilterType.REGEX, pattern = "com\\.accolite\\.pru\\.health\\.AuthApp\\.repository\\..*"),
@ComponentScan.Filter(type = FilterType.REGEX, pattern = "com\\.accolite\\.pru\\.health\\.AuthApp\\.security\\..*"),
@ComponentScan.Filter(type = FilterType.REGEX, pattern = "com\\.accolite\\.pru\\.health\\.AuthApp\\.model\\..*"),
@ComponentScan.Filter(type = FilterType.REGEX, pattern = "com\\.accolite\\.pru\\.health\\.AuthApp\\.event\\..*")
}
)
public class MinimalApplication {

public static void main(String[] args) {
SpringApplication.run(MinimalApplication.class, args);
System.out.println("Minimal application started successfully!");
}
}
21 changes: 21 additions & 0 deletions src/main/java/com/accolite/pru/health/AuthApp/TestApplication.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.accolite.pru.health.AuthApp;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.FilterType;

@SpringBootApplication
@ComponentScan(basePackages = "com.accolite.pru.health.AuthApp",
excludeFilters = {
@ComponentScan.Filter(type = FilterType.REGEX, pattern = "com\\.accolite\\.pru\\.health\\.AuthApp\\.controller\\..*"),
@ComponentScan.Filter(type = FilterType.REGEX, pattern = "com\\.accolite\\.pru\\.health\\.AuthApp\\.service\\..*"),
@ComponentScan.Filter(type = FilterType.REGEX, pattern = "com\\.accolite\\.pru\\.health\\.AuthApp\\.security\\..*")
})
public class TestApplication {

public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
System.out.println("Test application started successfully!");
}
}
Loading