Skip to content

hanaro-ERP/hanaro-ERP-JSP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

98 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

여신관리 ERP μ‹œμŠ€ν…œ

둜고


디지털 ν•˜λ‚˜λ‘œ 1κΈ° κ΅μœ‘κ³Όμ • 2μ°¨ ν”„λ‘œμ νŠΈ
κ°œλ°œκΈ°κ°„: 2023.06.07 ~ 2023.07.03


πŸ“½οΈ μ‹œν˜„ μ£Όμ†Œ

https://www.youtube.com/watch?v=GYGP0i77YvQ&t=2s


πŸ–₯️ 배포 μ£Όμ†Œ

https://hanaro-erp.com
ID 1~100 μ•„λ¬΄κ±°λ‚˜, PW 1


πŸ™‹πŸ»β€β™€οΈ ꡬ성원

λ°±μ—°μ • 이상쀀 λ°•μœ€κ²½ κΉ€λ―Όμž¬
@baek0402 @ssangjun @ykpark3 @lake041
  • 고객 등둝, 직원/은행 검색, μ—¬μ‹  μƒν’ˆ κ°€μž…
  • μžλ™ μ™„μ„±, DB λͺ¨λΈλ§
  • 고객 검색, μ—¬μ‹ μƒν’ˆ 검색, μƒν’ˆ 등둝, κ³„μ’Œ 계섀
  • UI/UX λ””μžμΈ
  • μ—¬μ‹  이λ ₯, μƒν™˜ 이λ ₯
  • μƒν™˜ 방법에 λ”°λ₯Έ νšŒμ°¨λ³„ μƒν™˜κΈˆ 계산
  • 둜그인/메인, κ³„μ’Œ λͺ©λ‘, μž…μΆœκΈˆ λ‚΄μ—­
  • λ³΄μ•ˆ, λ‚΄λΆ€μ‹ μš©ν‰μ , DB

πŸ’‘ ν”„λ‘œμ νŠΈ μ†Œκ°œ

"여신관리 ERP μ‹œμŠ€ν…œ"은 은행 μ—…λ¬΄μ˜ 핡심인 'μ—¬μ‹ '을 μ€‘μ‹¬μœΌλ‘œ κΈ°μ‘΄ ERP μ‹œμŠ€ν…œμ˜ UI/UXλ₯Ό κ°œμ„ ν•œ ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€.

  • 은행 μ—…λ¬΄μ˜ 핡심인 μ—¬μ‹ μœΌλ‘œ λ²”μœ„λ₯Ό μ’ν˜”μŠ΅λ‹ˆλ‹€.
  • 행원 및 κ΄€λ¦¬μžλ“€μ΄ 보닀 νŽΈν•˜κ²Œ ERP μ‹œμŠ€ν…œμ„ λ‹€λ£° 수 μžˆλ„λ‘ κ°„κ²°ν•œ UI/UX둜 μ‚¬μš©μ„± 뢀뢄을 κ°œμ„ ν•˜κ³ μž ν•˜μ˜€μŠ΅λ‹ˆλ‹€
  • μ—¬μ‹ μƒν’ˆ 등둝, 검색, λŒ€μΆœμ‹¬μ‚¬, κ°€μž…, λŒ€μΆœμƒν™˜κΉŒμ§€ μ—¬μ‹  업무 μ „λ°˜μ— λŒ€ν•œ μ‹œμŠ€ν…œμ„ κ°œλ°œν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • 고객관리, 직원관리, μˆ˜μ‹ κ΄€λ¦¬ λ“± 기본적인 λ‚΄μš©λ„ ν¬ν•¨ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

πŸ“‚ 폴더 ꡬ쑰

β”œβ”€β”€ README.md
β”œβ”€β”€ .classpath 
β”œβ”€β”€ pull_request_template.md
β”œβ”€β”€ src/main
β”‚Β Β  β”œβ”€β”€ SQL                            # λŒ€μΆœμƒν™˜ μžλ™ν™” ν”„λ‘œμ‹œμ Έ 
β”‚Β Β  β”œβ”€β”€ java
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ Controller                 # μ‚¬μš©μž μš”μ²­ 처리 및 응닡 
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ DAO                        # λ°μ΄ν„°λ² μ΄μŠ€μ— μ ‘κ·Όν•˜λŠ” Data Access Object 
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ DTO                        # Data Transfer Object
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ Filter                     # 문자 인코딩 
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ Service                    # λΉ„μ¦ˆλ‹ˆμŠ€ 둜직 
β”‚Β Β  β”‚Β Β  └── util                       # μœ ν‹Έλ¦¬ν‹° 클래슀 
β”‚Β Β  β”œβ”€β”€ webapp 
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ META-INF
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ WEB-INF 
β”‚Β Β  β”‚Β Β  β”‚     β”œβ”€β”€ components           # νŒμ—… κ΄€λ ¨ μ½”λ“œλ“€ 
β”‚Β Β  β”‚Β Β  β”‚     β”œβ”€β”€ key                  # DB μ ‘κ·Ό ν‚€
β”‚Β Β  β”‚Β Β  β”‚     β”œβ”€β”€ view                 # Clientκ°€ μ ‘κ·Όν•˜μ§€ λͺ»ν•˜λ„둝 λ³΄μ•ˆ κ°•ν™” 
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ css			       # css μŠ€νƒ€μΌμ‹œνŠΈ 파일 
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ js			       # Java Script 파일 
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ public		       # 이미지, 폰트 νŒŒμΌλ“€
└────── └── index.jsp 

☁️ μ‹œμŠ€ν…œ 아킀텍쳐

image


βš™οΈ 기술 μŠ€νƒ

Environment

Eclipse Git GitHub

Communication

Slack Google Meet Figma

Front-End

HTML5 CSS3 JavaScript

Back-End

JSP Java MySQL AWS Apache Tomcat


✏️ κΈ°λŠ₯ 리슀트

둜그인

  1. 행원/κ΄€λ¦¬μž κΈ°λŠ₯
  2. 3λΆ„ 둜그인 μ„Έμ…˜ κΈ°λŠ₯

메인 ν™”λ©΄

고객, 직원, μ—¬μ‹ , μˆ˜μ‹  λΆ„λ₯˜

  1. 고객 검색 및 등둝
  • 고객 상세 정보 확인 κ°€λŠ₯
  • (κ΄€λ¦¬μž) 고객 정보 μˆ˜μ • κ°€λŠ₯
  1. 직원 검색
  2. 지점 검색
  3. μ—¬μ‹  μƒν’ˆ 검색
  • μ—¬μ‹  μƒν’ˆ 상세 정보 확인 κ°€λŠ₯
  • (κ΄€λ¦¬μž) μ—¬μ‹  μƒν’ˆ μˆ˜μ • 및 μ‚­μ œ κ°€λŠ₯
  1. μ—¬μ‹  μƒν’ˆ κ°€μž… λ‚΄μ—­ 검색
  • 고객 별 μƒν™˜ λ‚΄μ—­ 확인 κ°€λŠ₯
  1. (κ΄€λ¦¬μž) μ—¬μ‹  μƒν’ˆ 등둝
  2. μ—¬μ‹  μƒν’ˆ κ°€μž…
  3. κ³„μ’Œ 검색
  • κ³„μ’Œλ³„ μž…μΆœκΈˆ λ‚΄μ—­ 확인 κ°€λŠ₯
  1. κ³„μ’Œ 생성

βš’οΈ 기술적 κ³ λ € 사항

PRG νŒ¨ν„΄

  1. μƒˆλ‘œκ³ μΉ¨ 이슈
    • Form 제좜 이후 μƒˆλ‘œκ³ μΉ¨ μ‹œ μ€‘λ³΅μœΌλ‘œ μ œμΆœλ˜λŠ” μ΄μŠˆκ°€ λ°œμƒν–ˆλ‹€.
    • PRG νŒ¨ν„΄μ„ λ„μž…ν•˜μ—¬ GET λ°©μ‹μœΌλ‘œ λ¦¬λ‹€μ΄λ ‰μ…˜ μ‹œν‚΄μœΌλ‘œμ¨ 이슈λ₯Ό ν•΄κ²°ν–ˆλ‹€.

λ³΄μ•ˆ

  1. μ„Έμ…˜
    • λ³΄μ•ˆμ„±μ„ μœ„ν•΄ μΏ ν‚€ λŒ€μ‹  μ„Έμ…˜μ„ λ„μž…ν–ˆλ‹€.
    • μ„Έμ…˜ Time-out을 3λΆ„μœΌλ‘œ μ„€μ •ν–ˆκ³  μ‹œκ°„μ΄ μ§€λ‚˜λ©΄ μžλ™μœΌλ‘œ λ‘œκ·Έμ•„μ›ƒ μ‹œν‚¨λ‹€.
  2. μ•”ν˜Έν™” 및 ν•΄μ‹±
    • λΉ„λ°€λ²ˆν˜Έλ₯Ό SHA-256으둜 ν•΄μ‹±ν•΄μ„œ DB에 μ €μž₯ν–ˆλ‹€.
    • μ£Όλ―Όλ“±λ‘λ²ˆν˜Έμ™€ κ³„μ’Œλ²ˆν˜ΈλŠ” AES-256으둜 μ–‘λ°©ν–₯ μ•”ν˜Έν™”ν•΄μ„œ DB에 μ €μž₯ν–ˆλ‹€.
  3. SSL/TLS
    • SSL For Freeμ—μ„œ μΈμ¦μ„œ λ°œκΈ‰ λ°›μ•„ HTTPS 톡신을 μ‚¬μš©ν–ˆλ‹€.

DB Modeling

  1. νŒŒν‹°μ…”λ‹
    • μž…μΆœκΈˆλ‚΄μ—­μ€ ν•˜λ£¨μ— μ΅œμ†Œ 수백만 건 이상 λ°œμƒν•˜κ³  1년이면 μˆ˜μ‹­μ–΅ 건이 μŒ“μ΄κΈ° λ•Œλ¬Έμ—, λΉ λ₯Έ 검색을 μœ„ν•΄ μ‹œκ°„μ„ κΈ°μ€€μœΌλ‘œ transaction_date μΉΌλŸΌμ— λŒ€ν•΄ νŒŒν‹°μ…”λ‹μ„ λ„μž…ν–ˆλ‹€.
    • MySQL νŠΉμ„±μƒ νŒŒν‹°μ…”λ‹μ„ ν•˜λ €λ©΄ μ™Έλž˜ν‚€ μ œμ•½ 쑰건이 μ—†μ–΄μ•Ό ν•œλ‹€. κ³„μ’Œ ID, a_id에 λŒ€ν•œ 기쑴의 μ œμ•½ 쑰건을 ν•΄μ œν–ˆκ³ , 이둜 인해 λ°œμƒν•˜λŠ” 무결성 λ¬Έμ œλŠ” μž…μΆœκΈˆ μ‹œ DB의 νŠΈλžœμž­μ…˜ κΈ°λŠ₯을 μ‚¬μš©ν•˜μ—¬ ν•΄κ²°ν–ˆλ‹€.
    • ν•˜μ§€λ§Œ μ™Έλž˜ν‚€ μ œμ•½ 쑰건을 ν•΄μ œν•˜λ©΄ μΈλ±μŠ€λ„ ν•΄μ œλ˜κΈ° λ•Œλ¬Έμ— 였히렀 검색 속도가 더 μ €ν•˜λœλ‹€. 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ a_id에 λŒ€ν•œ 인덱슀λ₯Ό λ‹€μ‹œ μ„€μ •ν–ˆλ‹€.
  2. 인덱슀
    • users ν…Œμ΄λΈ”μ€ μ‹€μ œλ‘œ 수천만λͺ…μ˜ 고객 정보가 λ“±λ‘λ˜μ–΄ 있기 λ•Œλ¬Έμ— λΉ λ₯Έ 검색을 μœ„ν•΄ μ£Όλ―Όλ“±λ‘λ²ˆν˜Έμ— 인덱슀λ₯Ό μ„€μ •ν–ˆλ‹€.
    • accounts ν…Œμ΄λΈ”μ—μ„œλ„ λ§ˆμ°¬κ°€μ§€λ‘œ κ³„μ’Œλ²ˆν˜Έμ— 인덱슀λ₯Ό μ„€μ •ν–ˆλ‹€.
    • μ£Όλ―Όλ“±λ‘λ²ˆν˜Έμ™€ κ³„μ’Œλ²ˆν˜Έλ₯Ό AES-256으둜 μ•”ν˜Έν™”ν•˜μ—¬ μ €μž₯ν•œ 뒀에 인덱슀λ₯Ό μ„€μ •ν•˜μ—¬ λ³΄μ•ˆ 문제λ₯Ό μ΅œμ†Œν™”ν–ˆλ‹€.
  3. ν”„λ‘œμ‹œμ Έ
    • λŒ€μΆœμƒν™˜μ΄ μžλ™μœΌλ‘œ 이루어지도둝 이벀트 μŠ€μΌ€μ€„λŸ¬μ™€ ν”„λ‘œμ‹œμ Έλ₯Ό ν™œμš©ν•˜μ—¬ κΈ°λŠ₯을 κ΅¬ν˜„ν–ˆλ‹€.
    • 9μ‹œμ— κ·Έ λ‚  μƒν™˜μ΄ 이루어져야 ν•˜λŠ” κ³„μ’Œ λͺ©λ‘μ„ λ”°λ‘œ ν…Œμ΄λΈ”λ‘œ κ΅¬μ„±ν•œλ‹€.
    • 10μ‹œλΆ€ν„° 11μ‹œ 40λΆ„κΉŒμ§€ 30λΆ„ κ°„κ²©μœΌλ‘œ κ³„μ’Œλ₯Ό μ²΄ν¬ν•˜μ—¬ μƒν™˜κΈˆλ³΄λ‹€ μž”μ•‘μ΄ 크닀면 μΆœκΈˆμ„ μˆ˜ν–‰ν•œλ‹€.
    • μžμ •μ— λ§ˆμ§€λ§‰μœΌλ‘œ κ³„μ’Œλ₯Ό μ²΄ν¬ν•˜κ³  μ—¬μ „νžˆ μž”μ•‘μ΄ μƒν™˜κΈˆλ³΄λ‹€ μž‘λ‹€λ©΄ 연체λ₯Ό κΈ°λ‘ν•œλ‹€.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published