feat: Initial commit
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
package net.jwsi.jcms_vpp;
|
||||
|
||||
import net.jwsi.jcms.JcmsCmsApp;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.context.annotation.Import;
|
||||
@Import({JcmsCmsApp.class})
|
||||
@SpringBootApplication
|
||||
public class JcmsVppApplication {
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(JcmsVppApplication.class, args);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package net.jwsi.jcms_vpp;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.jwsi.jcms.cms.board.arti.BodArti;
|
||||
import net.jwsi.jcms.cms.board.arti.BodArtiService;
|
||||
import net.jwsi.jcms.exception.JsonDataException;
|
||||
import net.jwsi.jcms.utils.HttpUtil;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import java.util.Map;
|
||||
@Slf4j
|
||||
@Controller
|
||||
@RequiredArgsConstructor
|
||||
public class MainController {
|
||||
final private String path = "system/";
|
||||
final private String root = "/"+path;
|
||||
@Value("${jcms.manager-path:system}")
|
||||
private String rootPath;
|
||||
private final BodArtiService bodArtiService;
|
||||
@GetMapping("/")
|
||||
public String root() {
|
||||
return "redirect:/"+rootPath+"/main";
|
||||
}
|
||||
@GetMapping("/${jcms.manager-path:system}/main")
|
||||
public String list() {
|
||||
return path + "main";
|
||||
}
|
||||
@PostMapping("/${jcms.manager-path:system}/main/bordArtList.json")
|
||||
@ResponseBody
|
||||
public Map<String, Object> listData(BodArti srch) throws JsonDataException {
|
||||
return HttpUtil.responseList(bodArtiService.selectList(srch));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
spring:
|
||||
config:
|
||||
activate:
|
||||
on-profile: dev
|
||||
jpa:
|
||||
open-in-view: true
|
||||
show-sql: true
|
||||
hibernate:
|
||||
ddl-auto: none
|
||||
format_sql: true
|
||||
use_sql_comments: true
|
||||
datasource:
|
||||
jcms-db:
|
||||
driver-class-name: org.mariadb.jdbc.Driver
|
||||
jdbc-url: jdbc:mariadb://localhost:3306/jcmsdb
|
||||
username: jcms
|
||||
password: jcms3593
|
||||
|
||||
server:
|
||||
port: 8080
|
||||
tomcat:
|
||||
native: false
|
||||
servlet:
|
||||
session:
|
||||
timeout: 600
|
||||
|
||||
jcms:
|
||||
lib-minify: false
|
||||
upload:
|
||||
url: /util/files/
|
||||
path: /jw/jcms/upload/temp/
|
||||
system-url: /system/util/
|
||||
system-path: /jw/jcms/upload/
|
||||
file-path: /jw/jcms/upload/files/
|
||||
image-path: /jw/jcms/upload/images/
|
||||
|
||||
logging:
|
||||
level:
|
||||
root: info
|
||||
web: debug
|
||||
net.jwsi: debug
|
||||
org.apache: info
|
||||
org.hibernate: info
|
||||
file:
|
||||
path: /jw/jcms/logs
|
||||
name: /jw/jcms/logs/logs.log
|
||||
logback:
|
||||
rollingpolicy:
|
||||
file-name-pattern: /jw/jcms/logs/logs-%d{yyyy-MM-dd}.%i.log
|
||||
max-file-size: 100MB
|
||||
total-size-cap: 1GB
|
||||
max-history: 5
|
||||
clean-history-on-start: false
|
||||
@@ -0,0 +1,47 @@
|
||||
server:
|
||||
port: 8080
|
||||
servlet:
|
||||
session:
|
||||
timeout: 600
|
||||
spring:
|
||||
jpa:
|
||||
open-in-view: false
|
||||
datasource:
|
||||
jcms-db:
|
||||
driver-class-name: org.mariadb.jdbc.Driver
|
||||
jdbc-url: jdbc:mariadb://localhost:33068/jcms
|
||||
username: jcms
|
||||
password: ENC(nqt7VLhtxqwiJcQQw9ncNg==)
|
||||
jpa:
|
||||
entity-packages: net.jwsi.jcms
|
||||
show-sql: false
|
||||
hibernate:
|
||||
ddl-auto: none
|
||||
format_sql: false
|
||||
use_sql_comments: false
|
||||
jcms:
|
||||
lib-minify: true # css, js 파일 압축 여부
|
||||
upload:
|
||||
url: /util/files/
|
||||
path: /jw/jcms/upload/temp/
|
||||
system-url: /system/util/
|
||||
system-path: /jw/jcms/upload/
|
||||
file-path: /jw/jcms/upload/files/
|
||||
image-path: /jw/jcms/upload/images/
|
||||
logging:
|
||||
level:
|
||||
root: warn
|
||||
web: warn
|
||||
net.jwsi: info
|
||||
org.apache: warn # 변경시 오류 유발
|
||||
org.hibernate: warn # 변경시 오류 유발
|
||||
file:
|
||||
path: /jw/logs
|
||||
name: /jw/logs/logs.log
|
||||
logback:
|
||||
rollingpolicy:
|
||||
file-name-pattern: /jw/logs/logs-%d{yyyy-MM-dd}.%i.log
|
||||
max-file-size: 100MB
|
||||
total-size-cap: 1GB
|
||||
max-history: 30
|
||||
clean-history-on-start: false
|
||||
@@ -0,0 +1,38 @@
|
||||
spring:
|
||||
profiles:
|
||||
active: prod
|
||||
servlet:
|
||||
multipart:
|
||||
max-file-size: 100MB
|
||||
max-request-size: 100MB
|
||||
|
||||
jwt:
|
||||
# 50? ?? ??? : https://1password.com/ko/password-generator/
|
||||
secret-key: JQgRklFZ9cD0fhg7hQsz6FU815gvqrye9ztvQUpgVdQNr6mcVKG7sKQQi2P
|
||||
|
||||
jasypt:
|
||||
encryptor:
|
||||
bean: jasyptEncryptor
|
||||
|
||||
jcms:
|
||||
permitted-pattern: /, /util/** , /error/**, /login/**, /public/**
|
||||
manager-path: cms
|
||||
attr:
|
||||
main-url: /cms/main
|
||||
new-user-st: 9 # 1: ??, 9:????
|
||||
cms-name: VPP
|
||||
cms-title: VPP
|
||||
cms-bg-color: '#499'
|
||||
cms-image-url: /public/images/logo_jcms3.png
|
||||
copyright: Copyright 2026 ??????????? Inc.
|
||||
authenticated-patten: /cms/**, /system/**, /api/**
|
||||
pass-url: /cms/main
|
||||
public-url: ''
|
||||
remember-me:
|
||||
enabled: true
|
||||
days: 30
|
||||
api:
|
||||
path: /api
|
||||
key:
|
||||
prefix: ak_
|
||||
header-name: X-API-KEY
|
||||
@@ -0,0 +1,47 @@
|
||||
<!DOCTYPE html>
|
||||
<html xmlns:th="http://thymeleaf.org"
|
||||
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
||||
layout:decorate="~{layout/cmsLayout}">
|
||||
<body>
|
||||
<section layout:fragment="Content">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-sm-6 col-xs-12">
|
||||
<div id="board1"></div>
|
||||
</div>
|
||||
<div class="col-md-6 col-sm-6 col-xs-12">
|
||||
<div id="board2"></div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 mt-3">
|
||||
<div class="box box-info">
|
||||
<div class="box-header">
|
||||
<h3 class="box-title"><i class='bi bi-caret-right-fill' style='font-size:16px;'></i> 사용자 접속자 통계</h3>
|
||||
<div class="box-body no-padding">
|
||||
<div class="box-tools pull-right">
|
||||
<a th:href="@{/{rPath}/siteStats/list.mng(rPath=${managerPath})}">
|
||||
<button type="button" class="btn btn-sm btn-primary" data-toggle="tooltip" title="더보기">
|
||||
더보기
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
<div class="box-body chart-responsive">
|
||||
<div id="line-chart" class="chart" style="width:100%; height:300px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body no-padding">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script th:src="@{/public/lib/js/baseComponent.js}"></script>
|
||||
<script th:inline="none">
|
||||
$(document).ready(function() {
|
||||
newBoardPanel($('#board1'), '공지사항', {boardId: '58b25b57a61c'});
|
||||
newBoardPanel($('#board2'), '자유게시판', {boardId: 'a961bb48-e0a7-4'});
|
||||
});
|
||||
</script>
|
||||
</section>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,13 @@
|
||||
package net.jwsi.jcms_vpp;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
@SpringBootTest
|
||||
class JcmsVppApplicationTests {
|
||||
|
||||
@Test
|
||||
void contextLoads() {
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user