From 5deda2a0047eea12eb6ace23db09b292e3f247ac Mon Sep 17 00:00:00 2001
From: Rinjae
Date: Thu, 21 May 2026 09:51:38 +0900
Subject: [PATCH] =?UTF-8?q?-=20K8sUtil=20=ED=8C=8C=EC=9D=BC=20=EC=82=AD?=
=?UTF-8?q?=EC=A0=9C=20-=20=EC=8A=B9=EC=9D=B8=EA=B4=80=EB=A6=AC=20?=
=?UTF-8?q?=EC=99=84=EC=A0=84=EC=82=AD=EC=A0=9C=20=EA=B8=B0=EB=8A=A5=20?=
=?UTF-8?q?=EC=B6=94=EA=B0=80=20-=20DJBank=EB=A1=9C=20=EB=AA=85=EC=B9=AD?=
=?UTF-8?q?=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
CLAUDE.md | 4 +-
README.md | 51 -------------------
build.gradle | 20 ++------
.../auth/service/ApiPermissionFilter.java | 11 ++--
.../user/controller/AccountController.java | 5 +-
.../GatewayDatasourceConfiguration.java | 2 -
src/main/resources/application.yml | 2 +-
.../message/apim/message_en.properties | 2 +-
.../message/apim/message_ko.properties | 2 +-
.../swagger/default-token-api-spec.json | 8 +--
.../apps/commission/commissionPrint.html | 2 +-
.../apps/community/mainPartnershipForm.html | 23 +++++----
.../templates/views/apps/login/login.html | 2 +-
.../templates/views/apps/main/index.html | 32 ++++++------
.../views/apps/register/signupSelection.html | 4 +-
.../apps/register/userDecisionAccept.html | 2 +-
.../apps/register/userDecisionProcess.html | 2 +-
.../templates/views/apps/service/guide.html | 4 +-
.../templates/views/apps/service/intro.html | 6 +--
.../views/fragment/kjbank/footer.html | 10 ++--
.../fragment/kjbank/header_container.html | 8 +--
21 files changed, 68 insertions(+), 134 deletions(-)
diff --git a/CLAUDE.md b/CLAUDE.md
index 5c589d1..c77b7c8 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -8,7 +8,7 @@
**기술 스택:**
- Spring Boot 2.7.18 with Spring MVC and Thymeleaf
-- Java 8 (targetCompatibility: 1.8)
+- Java 8 (sourceCompatibility/targetCompatibility: 1.8)
- Gradle 8.7 빌드 시스템
- Oracle 19c 데이터베이스 (JNDI를 통한 이중 데이터소스)
- Spring Security (커스텀 인증)
@@ -59,7 +59,7 @@ git push origin jenkins_with_weblogic
### 애플리케이션 실행
- gradlew 사용 금지 - offline gradle 단독 실행
-- msi-gf63 컴퓨터에서는 /c/eactive/workspaces/shell-scripts/kjb-gradle.sh 로 gradle 실행 (jdk, gradle 등 환경 변수 세팅 후 gradle 실행하는 스크립트)
+- JDK/Gradle 환경 변수는 저장소 루트의 `.envrc`(direnv)로 자동 설정됨 (JAVA_HOME → Zulu JDK 8, GRADLE_USER_HOME → 격리 디렉터리)
```bash
# dev 프로파일로 실행 (기본값)
diff --git a/README.md b/README.md
index 1417139..0af8879 100644
--- a/README.md
+++ b/README.md
@@ -90,10 +90,7 @@ export GIT_REPO_BASE="ssh://git@192.168.240.178:18081/eapim"
# export GIT_REPO_BASE="https://git.eactive.synology.me:8090/kjb-eapim"
# Gradle 명령어 설정
-# 일반 환경: gradle
-# msi-gf63 환경: /c/eactive/workspaces/shell-scripts/kjb-gradle.sh
export GRADLE_CMD="gradle"
-# export GRADLE_CMD="/c/eactive/workspaces/shell-scripts/kjb-gradle.sh"
# ====================================
# 2. 작업 디렉토리 생성
@@ -128,12 +125,6 @@ git clone ${GIT_REPO_BASE}/elink-portal-common.git
cd elink-portal-common
git checkout master # 또는 필요한 브랜치
-# kjb-safedb 클론
-cd $WORKSPACE_DIR
-git clone ${GIT_REPO_BASE}/kjb-safedb.git
-cd kjb-safedb
-git checkout master # 또는 필요한 브랜치
-
# ====================================
# 6. 최종 폴더 구조 확인
# ====================================
@@ -142,7 +133,6 @@ git checkout master # 또는 필요한 브랜치
# ├── eapim-online/
# │ └── elink-online-core-jpa/
# ├── elink-portal-common/
-# └── kjb-safedb/
# ====================================
# 7. eapim-portal 프로젝트로 이동 및 디펜던시 다운로드
@@ -169,10 +159,7 @@ set GIT_REPO_BASE=ssh://git@192.168.240.178:18081/eapim
REM set GIT_REPO_BASE=https://git.eactive.synology.me:8090/kjb-eapim
REM Gradle 명령어 설정
-REM 일반 환경: gradle
-REM msi-gf63 환경: C:\eactive\workspaces\shell-scripts\kjb-gradle.sh
set GRADLE_CMD=gradle
-REM set GRADLE_CMD=C:\eactive\workspaces\shell-scripts\kjb-gradle.sh
REM ====================================
REM 2. 작업 디렉토리 생성
@@ -207,12 +194,6 @@ git clone %GIT_REPO_BASE%/elink-portal-common.git
cd elink-portal-common
git checkout master
-REM kjb-safedb 클론
-cd /d "%WORKSPACE_DIR%"
-git clone %GIT_REPO_BASE%/kjb-safedb.git
-cd kjb-safedb
-git checkout master
-
REM ====================================
REM 6. 최종 폴더 구조 확인
REM ====================================
@@ -221,7 +202,6 @@ REM ├── eapim-portal\
REM ├── eapim-online\
REM │ └── elink-online-core-jpa\
REM ├── elink-portal-common\
-REM └── kjb-safedb\
REM ====================================
REM 7. eapim-portal 프로젝트로 이동 및 디펜던시 다운로드
@@ -253,30 +233,19 @@ REM Gradle 디펜던시 다운로드
- **gradlew 사용 금지**: 반드시 시스템에 설치된 gradle을 직접 사용하거나 환경에 맞는 스크립트를 사용하세요
- **Gradle 명령어 변수화**: 위의 `GRADLE_CMD` 변수를 설정하면 환경별로 다른 gradle 명령어 사용 가능
-- **SafeDB**: 암호화 기능이 필요한 경우 kjb-safedb 모듈 설정 확인
## 빌드 및 실행
### Gradle 명령어 설정
-사용 환경에 따라 적절한 gradle 명령어를 설정하세요:
-
**Git Bash:**
```bash
-# 일반 환경
export GRADLE_CMD="gradle"
-
-# msi-gf63 환경
-export GRADLE_CMD="/c/eactive/workspaces/shell-scripts/kjb-gradle.sh"
```
**Windows CMD:**
```cmd
-REM 일반 환경
set GRADLE_CMD=gradle
-
-REM msi-gf63 환경
-set GRADLE_CMD=C:\eactive\workspaces\shell-scripts\kjb-gradle.sh
```
### 빌드 및 실행 명령어
@@ -310,7 +279,6 @@ kjb-eapim/
├── eapim-online/ # Online 프로젝트
│ └── elink-online-core-jpa/ # Gateway 데이터 모델
├── elink-portal-common/ # 공통 유틸리티
-└── kjb-safedb/ # SafeDB 암호화 라이브러리
```
### eapim-portal 내부 구조
@@ -327,7 +295,6 @@ src/main/java/com/eactive/apim/portal/
이 프로젝트는 다음 모듈에 의존합니다 (settings.gradle 참조):
- `eapim-online/elink-online-core-jpa`: Gateway 데이터 모델 (../eapim-online/elink-online-core-jpa)
- `elink-portal-common`: 공통 유틸리티 (../elink-portal-common)
-- `kjb-safedb`: SafeDB 암호화 라이브러리 (../kjb-safedb)
## SASS / CSS 스타일 개발
@@ -532,8 +499,6 @@ ls -lh src/main/resources/static/css/main.min.css # minified
- 사용자 관리 (내부/기업)
- API 키 관리 및 승인 워크플로우
-- API 카탈로그 및 문서화
-- API 테스트 프록시
- 감사 추적 (Hibernate Envers)
## 배포
@@ -543,22 +508,6 @@ ls -lh src/main/resources/static/css/main.min.css # minified
- WebLogic
- Tomcat (내장)
-### Docker
-```bash
-./build_docker.sh
-docker run -p 8080:8080 eapim-portal:latest
-```
-
-## 관련 프로젝트
-
-프로젝트 구조 (kjb-eapim 디렉토리 기준):
-- `eapim-portal/` - Portal 웹 애플리케이션 (현재 프로젝트)
-- `eapim-online/` - Online 프로젝트 (elink-online-core-jpa 포함)
-- `elink-portal-common/` - 공통 유틸리티 라이브러리
-- `kjb-safedb/` - SafeDB 암호화 라이브러리
-- `eapim-admin/` - Admin 포털 (선택사항)
-- `kjb-eapim-sql/` - SQL 스크립트 (선택사항)
-
## 문서
- **프로젝트 상세 지침**: `CLAUDE.md` (한글)
diff --git a/build.gradle b/build.gradle
index 918045e..6358b69 100644
--- a/build.gradle
+++ b/build.gradle
@@ -128,11 +128,13 @@ bootRun {
}
+// annotation processor 출력 디렉토리는 IntelliJ/Gradle 통합이 자동 등록함.
+// 명시적으로 srcDir 추가하면 IntelliJ idea 모드에서 MapStruct가 같은 파일을
+// 중복 생성하려다 javax.annotation.processing.FilerException 발생함.
sourceSets {
main {
java {
srcDir 'src/main/java'
- srcDir 'build/generated/sources/annotationProcessor/java/main'
}
}
}
@@ -181,20 +183,4 @@ task printSourceSets {
println " Output dir : ${srcSet.output.classesDirs.asPath}"
}
}
-}
-
-// CryptoCli 실행 task (bcrypt 지원)
-task cryptoCli(type: JavaExec) {
- mainClass = 'com.eactive.ext.kjb.safedb.CryptoCli'
- classpath = sourceSets.main.runtimeClasspath
- standardInput = System.in
-
- // SafeDB 라이브러리 경로 추가 (리눅스)
- classpath += files("/safedb/JavaAPI/config")
- classpath += fileTree(dir: "/safedb/JavaAPI/lib", include: ["*.jar"])
-
- // CLI 인자 전달: ./gradlew cryptoCli --args="bcrypt hash password123"
- if (project.hasProperty('args')) {
- args project.args.split('\\s+')
- }
}
\ No newline at end of file
diff --git a/src/main/java/com/eactive/apim/portal/apps/auth/service/ApiPermissionFilter.java b/src/main/java/com/eactive/apim/portal/apps/auth/service/ApiPermissionFilter.java
index 3de31b3..3f3066d 100644
--- a/src/main/java/com/eactive/apim/portal/apps/auth/service/ApiPermissionFilter.java
+++ b/src/main/java/com/eactive/apim/portal/apps/auth/service/ApiPermissionFilter.java
@@ -3,8 +3,9 @@ package com.eactive.apim.portal.apps.auth.service;
import com.eactive.apim.portal.apps.apis.dto.ApiSpecInfoDto;
import com.eactive.apim.portal.apps.apiservice.dto.ApiServiceDTO;
+import com.eactive.apim.portal.apps.user.dto.PortalOrgDTO;
+import com.eactive.apim.portal.common.user.PortalAuthenticatedUser;
import com.eactive.apim.portal.common.util.SecurityUtil;
-import lombok.var;
import java.util.List;
import java.util.stream.Collectors;
@@ -18,12 +19,12 @@ public class ApiPermissionFilter {
if (isAuthenticated) {
// null 체크 추가
- var user = SecurityUtil.getPortalAuthenticatedUser();
+ PortalAuthenticatedUser user = SecurityUtil.getPortalAuthenticatedUser();
if (user != null && user.getRoleCode() != null) {
roleCode = user.getRoleCode().toString();
}
- var userOrg = SecurityUtil.getUserOrg();
+ PortalOrgDTO userOrg = SecurityUtil.getUserOrg();
if (userOrg != null) {
org = userOrg.getId();
}
@@ -44,12 +45,12 @@ public class ApiPermissionFilter {
if (isAuthenticated) {
// null 체크 추가
- var user = SecurityUtil.getPortalAuthenticatedUser();
+ PortalAuthenticatedUser user = SecurityUtil.getPortalAuthenticatedUser();
if (user != null && user.getRoleCode() != null) {
roleCode = user.getRoleCode().toString();
}
- var userOrg = SecurityUtil.getUserOrg();
+ PortalOrgDTO userOrg = SecurityUtil.getUserOrg();
if (userOrg != null) {
org = userOrg.getId();
}
diff --git a/src/main/java/com/eactive/apim/portal/apps/user/controller/AccountController.java b/src/main/java/com/eactive/apim/portal/apps/user/controller/AccountController.java
index e7dcd34..67ad0f1 100644
--- a/src/main/java/com/eactive/apim/portal/apps/user/controller/AccountController.java
+++ b/src/main/java/com/eactive/apim/portal/apps/user/controller/AccountController.java
@@ -24,7 +24,6 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import lombok.RequiredArgsConstructor;
-import lombok.var;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.ResponseEntity;
@@ -252,7 +251,7 @@ public class AccountController {
@GetMapping("/mypage/org-transfer")
public String showOrgTransferPage(Model model) {
try {
- var authenticatedUser = SecurityUtil.getPortalAuthenticatedUser();
+ PortalAuthenticatedUser authenticatedUser = SecurityUtil.getPortalAuthenticatedUser();
PortalUserDTO user = userFacade.findById(authenticatedUser.getId());
if (user.getRoleCode() != PortalUserEnums.RoleCode.ROLE_USER) {
@@ -282,7 +281,7 @@ public class AccountController {
HttpServletResponse response) {
Map result = new HashMap<>();
try {
- var currentUser = SecurityUtil.getPortalAuthenticatedUser();
+ PortalAuthenticatedUser currentUser = SecurityUtil.getPortalAuthenticatedUser();
if (currentUser.getRoleCode() != PortalUserEnums.RoleCode.ROLE_USER) {
result.put("status", "ERROR");
diff --git a/src/main/java/com/eactive/apim/portal/config/GatewayDatasourceConfiguration.java b/src/main/java/com/eactive/apim/portal/config/GatewayDatasourceConfiguration.java
index d824550..a5ce76b 100644
--- a/src/main/java/com/eactive/apim/portal/config/GatewayDatasourceConfiguration.java
+++ b/src/main/java/com/eactive/apim/portal/config/GatewayDatasourceConfiguration.java
@@ -9,7 +9,6 @@ import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
-import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
@@ -20,7 +19,6 @@ import javax.sql.DataSource;
@Configuration
@EntityScan(basePackages = {"com.eactive.apim.gateway"})
@EnableJpaRepositories(basePackages = "com.eactive.apim.gateway", repositoryBaseClass = BaseRepositoryImpl.class, entityManagerFactoryRef = "gatewayEntityManagerFactory")
-@EnableJpaAuditing(auditorAwareRef = "auditorProvider")
@Slf4j
public class GatewayDatasourceConfiguration extends BaseDatasourceConfiguration {
private final Environment env;
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index f3582d9..5787c3f 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -5,7 +5,7 @@ server:
timeout: 15m
encoding:
charset: UTF-8
- port: '8080'
+ port: '39130'
error:
include-message: never
include-stacktrace: never
diff --git a/src/main/resources/message/apim/message_en.properties b/src/main/resources/message/apim/message_en.properties
index 5deccc9..173a046 100644
--- a/src/main/resources/message/apim/message_en.properties
+++ b/src/main/resources/message/apim/message_en.properties
@@ -1,4 +1,4 @@
-title.html=KJBank API Portal Portal
+title.html=DJBank API Portal
password.not.match=Password is not matched
authnumber.not.match=Auth number is not matched.
apim.route.register.file=File
diff --git a/src/main/resources/message/apim/message_ko.properties b/src/main/resources/message/apim/message_ko.properties
index 176e88b..0b3acbd 100644
--- a/src/main/resources/message/apim/message_ko.properties
+++ b/src/main/resources/message/apim/message_ko.properties
@@ -1,4 +1,4 @@
-title.html=\uAD11\uC8FC\uC740\uD589 API Portal
+title.html=DJBank \uAC1C\uBC1C\uC790\uD3EC\uD0C8
apim.route.register.file=\uCCA8\uBD80\uD30C\uC77C
field.required=\uD544\uC218 \uC785\uB825\uD56D\uBAA9\uC785\uB2C8\uB2E4.
companyName=\uD68C\uC0AC\uBA85
diff --git a/src/main/resources/swagger/default-token-api-spec.json b/src/main/resources/swagger/default-token-api-spec.json
index 6430a9d..0ce14bb 100644
--- a/src/main/resources/swagger/default-token-api-spec.json
+++ b/src/main/resources/swagger/default-token-api-spec.json
@@ -1,7 +1,7 @@
{
"openapi": "3.0.0",
"info": {
- "title": "광주은행 OAuth 2.0 토큰 발급",
+ "title": "DJBank OAuth 2.0 토큰 발급",
"description": "OAuth 2.0 토큰 발급을 위한 API 문서입니다.",
"version": "1.0.0"
},
@@ -28,7 +28,7 @@
"paths": {
"/api/v1/oauth/token": {
"post": {
- "summary": "광주은행 액세스 토큰 발급",
+ "summary": "DJBank 액세스 토큰 발급",
"description": "client_credentials grant type을 사용하여 액세스 토큰을 발급받습니다.",
"security": [
{
@@ -51,12 +51,12 @@
"client_id": {
"type": "string",
"maxLength": 256,
- "description": "광주은행에서 발급한 client id"
+ "description": "DJBank에서 발급한 client id"
},
"client_secret": {
"type": "string",
"maxLength": 512,
- "description": "광주은행에서 발급한 client secret"
+ "description": "DJBank에서 발급한 client secret"
},
"scope": {
"type": "string",
diff --git a/src/main/resources/templates/views/apps/commission/commissionPrint.html b/src/main/resources/templates/views/apps/commission/commissionPrint.html
index bd3bbe3..2bd60d2 100644
--- a/src/main/resources/templates/views/apps/commission/commissionPrint.html
+++ b/src/main/resources/templates/views/apps/commission/commissionPrint.html
@@ -59,7 +59,7 @@
-
+
우61470 광주광역시 동구 제봉로 225 전화 (062)239-6722 FAX (062)239-6719 오픈뱅크 플랫폼 담당자
diff --git a/src/main/resources/templates/views/apps/community/mainPartnershipForm.html b/src/main/resources/templates/views/apps/community/mainPartnershipForm.html
index 4b47bd4..e088e61 100644
--- a/src/main/resources/templates/views/apps/community/mainPartnershipForm.html
+++ b/src/main/resources/templates/views/apps/community/mainPartnershipForm.html
@@ -6,7 +6,7 @@
![타이틀 배경]()
-
사업 제휴
+
피드백/개선요청
@@ -15,8 +15,8 @@
-
사업 제휴 신청
- 광주은행은 온라인 비즈니스 혁신을 위한 사업 제안을 환영합니다.
+ 피드백/개선요청
+ DJBank은 온라인 비즈니스 혁신을 위한 피드백/개선요청을 환영합니다.
@@ -24,10 +24,10 @@
@@ -48,12 +48,12 @@
세상의 모든 서비스
-
광주은행 API가 함께 합니다.
+
DJBank API가 함께 합니다.
회원가입하기
-
![광주은행 API 서비스]()
+
@@ -156,7 +156,7 @@
서비스 설명
- 광주은행 API 서비스를 이용해보세요.
+ DJBank API 서비스를 이용해보세요.
@@ -178,15 +178,15 @@
차별화된 API 서비스,
- 광주은행 API Portal
+ DJBank API Portal
- 광주은행 API Portal은 기업이 금융 서비스를 편리하게 개발할 수 있도록 차별화된 API와 테스트환경을 제공합니다.
+ DJBank API Portal은 기업이 금융 서비스를 편리하게 개발할 수 있도록 차별화된 API와 테스트환경을 제공합니다.
-
![광주은행 API]()
+
@@ -208,7 +208,7 @@
@@ -219,8 +219,8 @@
공지사항
-
광주은행 API의 새로운 소식
-
광주은행 API의
새로운 소식
+
DJBank API의 새로운 소식
+
DJBank API의
새로운 소식
@@ -256,7 +256,7 @@
@@ -320,7 +320,7 @@
-
광주은행 API를 지금 바로 만나보세요.
+
DJBank API를 지금 바로 만나보세요.
회원가입하기
diff --git a/src/main/resources/templates/views/apps/register/signupSelection.html b/src/main/resources/templates/views/apps/register/signupSelection.html
index e43b434..77b63ca 100644
--- a/src/main/resources/templates/views/apps/register/signupSelection.html
+++ b/src/main/resources/templates/views/apps/register/signupSelection.html
@@ -10,11 +10,11 @@
-
![광주은행]()
+
-
광주은행 API Portal 사용을 위해 회원 가입해 주세요.
+
DJBank API Portal 사용을 위해 회원 가입해 주세요.
diff --git a/src/main/resources/templates/views/apps/register/userDecisionProcess.html b/src/main/resources/templates/views/apps/register/userDecisionProcess.html
index 26ecc16..8a86350 100644
--- a/src/main/resources/templates/views/apps/register/userDecisionProcess.html
+++ b/src/main/resources/templates/views/apps/register/userDecisionProcess.html
@@ -36,7 +36,7 @@
에서
- 광주은행 API Portal 법인회원으로 초대하였습니다.
+ DJBank API Portal 법인회원으로 초대하였습니다.
초대를 수락하시면 법인회원으로 전환됩니다.
diff --git a/src/main/resources/templates/views/apps/service/guide.html b/src/main/resources/templates/views/apps/service/guide.html
index 27bad5a..c0f054c 100644
--- a/src/main/resources/templates/views/apps/service/guide.html
+++ b/src/main/resources/templates/views/apps/service/guide.html
@@ -11,8 +11,8 @@
회원 가입 안내
-
광주은행 API 개발자 포털에 방문해 주셔서 감사합니다.
-
광주은행 API 사용을 위해서는 다음과 같은 이용절차로 진행하여야 합니다.
+
DJBank API 개발자 포털에 방문해 주셔서 감사합니다.
+
DJBank API 사용을 위해서는 다음과 같은 이용절차로 진행하여야 합니다.
diff --git a/src/main/resources/templates/views/apps/service/intro.html b/src/main/resources/templates/views/apps/service/intro.html
index 1313d29..a769d58 100644
--- a/src/main/resources/templates/views/apps/service/intro.html
+++ b/src/main/resources/templates/views/apps/service/intro.html
@@ -8,7 +8,7 @@
@@ -18,7 +18,7 @@
- 광주은행이 제공하는 오픈API를 활용하여 핀테크 기업들이 새로운 금융서비스를 편리하게 개발할 수 있는 환경입니다.
+ DJBank이 제공하는 오픈API를 활용하여 핀테크 기업들이 새로운 금융서비스를 편리하게 개발할 수 있는 환경입니다.
@@ -36,7 +36,7 @@
-
![광주은행 오픈뱅크 플랫폼 구성도]()
+
diff --git a/src/main/resources/templates/views/fragment/kjbank/footer.html b/src/main/resources/templates/views/fragment/kjbank/footer.html
index 416db0d..9c85352 100644
--- a/src/main/resources/templates/views/fragment/kjbank/footer.html
+++ b/src/main/resources/templates/views/fragment/kjbank/footer.html
@@ -6,7 +6,7 @@