Initial commit: IT센터 출입자관리시스템 (ACS)

방문자 사전신청·승인, 입·출입 체크인/아웃, QR 배지, 재실현황,
블랙리스트, 대시보드 통계, 방문 리포트(엑셀)까지 7단계 전 기능 구현.

- backend: Spring Boot 3.4.5 / Java 21 (JDK 26 빌드), 세션 인증, JPA, H2/PostgreSQL, POI, ZXing, Flyway
- frontend: React 19 / Vite 6 / TypeScript
- infra: Docker Compose (db·app·web nginx), Flyway V1__init, Python 사용자 시드
- docs: 워크플로우 / 시퀀스 다이어그램(Mermaid) / 이슈·유의사항

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
unknown
2026-07-03 08:59:41 +09:00
commit f0c30d8005
130 changed files with 8884 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
spring.application.name=acs
server.port=8080
# ===== Logging =====
logging.level.root=INFO
logging.level.com.itcenter.acs=DEBUG
# ===== H2 in-memory (local dev, default) =====
spring.datasource.url=jdbc:h2:mem:acsdb;DB_CLOSE_DELAY=-1;MODE=PostgreSQL
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
# ===== JPA / Hibernate =====
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=false
spring.jpa.open-in-view=false
spring.jpa.properties.hibernate.format_sql=false
# H2 console (dev only): http://localhost:8080/h2-console (JDBC URL above)
spring.h2.console.enabled=true
# Flyway is for the prod (PostgreSQL) profile; schema in dev comes from ddl-auto
spring.flyway.enabled=false
# Multipart (Excel upload)
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB
# ===== SMS/LMS pass delivery =====
# provider=dev -> LoggingPassNotifier: logs + writes QR to outbox-dir (no network)
# provider=hanbank -> HanbankMessagePassNotifier: sends an LMS with the public
# pass link via the in-house DMZ message API (requires network reachability).
acs.sms.provider=dev
acs.sms.outbox-dir=./sms-outbox
acs.sms.api-url=http://210.104.132.59:8000
# Base URL the SMS link points to (the visitor's public pass page).
acs.public-base-url=http://localhost:5173
spring.profiles.active=local