Skip to content

Latest commit

Β 

History

History
94 lines (68 loc) Β· 5.35 KB

File metadata and controls

94 lines (68 loc) Β· 5.35 KB

✨ Smart Email Template Assistant

λ‚˜λ§Œμ˜ 이메일 ν…œν”Œλ¦Ώμ„ μŠ€λ§ˆνŠΈν•˜κ²Œ κ΄€λ¦¬ν•˜κ³  λ°œμ†‘ν•˜λŠ” λ°μŠ€ν¬ν†± μ• ν”Œλ¦¬μΌ€μ΄μ…˜

Java Java Swing License: MIT

λ‹¨κ΅­λŒ€ν•™κ΅ λͺ¨λ°”μΌμ‹œμŠ€ν…œκ³΅ν•™κ³Ό 2ν•™λ…„ 전곡선택 μžλ°”ν”„λ‘œκ·Έλž˜λ° Final ν”„λ‘œμ νŠΈ

πŸ“– ν”„λ‘œμ νŠΈ κ°œμš”

Smart Template AssistantλŠ” 반볡적으둜 μž‘μ„±ν•˜λŠ” 이메일, λ³΄κ³ μ„œ, μ½”λ“œ μŠ€λ‹ˆνŽ« λ“±μ˜ ν…μŠ€νŠΈλ₯Ό ν…œν”Œλ¦ΏμœΌλ‘œ 효율적으둜 κ΄€λ¦¬ν•˜κΈ° μœ„ν•΄ 개발된 Java Swing 기반의 λ°μŠ€ν¬ν†± μ• ν”Œλ¦¬μΌ€μ΄μ…˜μž…λ‹ˆλ‹€. 반볡적인 ν…μŠ€νŠΈ μž‘μ„±μ„ μžλ™ν™”ν•˜κ³ , 동적 λ³€μˆ˜λ₯Ό μ‚¬μš©ν•΄ κ°œμΈν™”λœ λ‚΄μš©μ„ μ†μ‰½κ²Œ 생성할 수 있으며, Gmail 계정과 μ—°λ™ν•˜μ—¬ λ°”λ‘œ 이메일을 λ°œμ†‘ν•  수 μžˆλŠ” κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.

기획 μ˜λ„ 및 λͺ©μ 

μ €λŠ” ν‰μ†Œ μ΄λ©”μΌμ΄λ‚˜ 과제 제좜 μ‹œ λΉ„μŠ·ν•œ ν˜•μ‹μ˜ 글을 λ°˜λ³΅ν•΄μ„œ μž‘μ„±ν•˜λŠ” 일이 λ§Žμ•˜μŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ λΉ„νš¨μœ¨μ„ μ€„μ΄κ³ μž, 자주 μ‚¬μš©ν•˜λŠ” 문ꡬλ₯Ό μ €μž₯ν•˜κ³  μ‰½κ²Œ κΊΌλ‚΄ μ“Έ 수 μžˆλŠ” ν”„λ‘œκ·Έλž¨μ„ 직접 λ§Œλ“€κ³  μ‹Άλ‹€λŠ” μƒκ°μ—μ„œ 이 ν”„λ‘œμ νŠΈλ₯Ό μ‹œμž‘ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

λ³Έ ν”„λ‘œμ νŠΈλ₯Ό 톡해 λ‹€μŒκ³Ό 같은 ν•™μŠ΅ λͺ©ν‘œλ₯Ό λ‹¬μ„±ν•˜κ³ μž ν–ˆμŠ΅λ‹ˆλ‹€.

  • Java Swing을 μ΄μš©ν•œ GUI ν”„λ‘œκ·Έλž˜λ° μ—­λŸ‰ κ°•ν™”
  • 파일 μž…μΆœλ ₯을 ν†΅ν•œ 데이터 μ˜μ†μ„± 처리 λŠ₯λ ₯ μŠ΅λ“
  • 객체지ν–₯ ν”„λ‘œκ·Έλž˜λ°(OOP) 원칙에 κΈ°λ°˜ν•œ 체계적인 ν”„λ‘œκ·Έλž¨ 섀계
  • μ™ΈλΆ€ 라이브러리(Jakarta Mail) 연동 및 ν™œμš© κ²½ν—˜

πŸš€ μ£Όμš” κΈ°λŠ₯ 상세 μ„€λͺ…

  • ✍️ ν…œν”Œλ¦Ώ 관리 (CRUD): λ‚˜λ§Œμ˜ ν…œν”Œλ¦Ώμ„ 자유둭게 생성, μˆ˜μ •, μ‚­μ œν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • πŸ” μ‹€μ‹œκ°„ 검색 및 필터링: 제λͺ©, λ‚΄μš©, μΉ΄ν…Œκ³ λ¦¬, 즐겨찾기 μ—¬λΆ€λ‘œ μ›ν•˜λŠ” ν…œν”Œλ¦Ώμ„ λΉ λ₯΄κ²Œ 찾을 수 μžˆμŠ΅λ‹ˆλ‹€.
  • πŸ”„ 동적 λ³€μˆ˜ μΉ˜ν™˜: {name}, {date} 와 같은 λ³€μˆ˜λ₯Ό ν…œν”Œλ¦Ώμ— ν¬ν•¨μ‹œν‚€κ³ , λ―Έλ¦¬λ³΄κΈ°μ—μ„œ μ‹€μ œ κ°’μœΌλ‘œ μ‰½κ²Œ μΉ˜ν™˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • ⭐ 즐겨찾기: 자주 μ‚¬μš©ν•˜λŠ” ν…œν”Œλ¦Ώμ„ 즐겨찾기둜 λ“±λ‘ν•˜μ—¬ λ”°λ‘œ λͺ¨μ•„λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.
  • βœ‰οΈ Gmail 연동 이메일 λ°œμ†‘: μ™„μ„±λœ ν…œν”Œλ¦Ώμ„ Gmail 계정을 톡해 μ¦‰μ‹œ λ°œμ†‘ν•  수 μžˆμŠ΅λ‹ˆλ‹€. (2단계 인증 및 μ•± λΉ„λ°€λ²ˆν˜Έ ν•„μš”)
  • πŸ’Ύ 데이터 μ˜μ†μ„±: μƒμ„±ν•œ ν…œν”Œλ¦Ώκ³Ό 이메일 계정 μ •λ³΄λŠ” 파일(templates.dat, email_credentials.properties)둜 μ €μž₯λ˜μ–΄ ν”„λ‘œκ·Έλž¨μ΄ μ’…λ£Œλ˜μ–΄λ„ μœ μ§€λ©λ‹ˆλ‹€.

βš™οΈ μ‹€ν–‰ κ°€μ΄λ“œ

이 ν”„λ‘œμ νŠΈλ₯Ό 둜컬 μ»΄ν“¨ν„°μ—μ„œ μ›ν™œν•˜κ²Œ μ‹€ν–‰ν•˜μ‹œκΈ° μœ„ν•œ κ°€μ΄λ“œμž…λ‹ˆλ‹€.

βœ… 사전 μš”κ΅¬ 사항

  1. JDK (Java Development Kit) 11 이상: μžλ°” 컴파일 및 μ‹€ν–‰ ν™˜κ²½
  2. Git: μ†ŒμŠ€ μ½”λ“œ λ‹€μš΄λ‘œλ“œ

πŸ’» 방법 1: IntelliJ IDEA μ‚¬μš© (ꢌμž₯)

κ°€μž₯ κ°„λ‹¨ν•˜κ³  ν™•μ‹€ν•œ λ°©λ²•μž…λ‹ˆλ‹€.

  1. ν”„λ‘œμ νŠΈ 클둠 터미널 λ˜λŠ” Git Bashλ₯Ό μ—΄κ³  μ•„λž˜ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜μ—¬ ν”„λ‘œμ νŠΈλ₯Ό λ‹€μš΄λ‘œλ“œν•©λ‹ˆλ‹€.

    git clone [https://github.com/codeminjun/SETAProject.git](https://github.com/codeminjun/SETAProject.git)
  2. ν”„λ‘œμ νŠΈ μ—΄κΈ° IntelliJ IDEAλ₯Ό μ‹€ν–‰ν•˜κ³  File > Open... 메뉴λ₯Ό 톡해 λ‹€μš΄λ‘œλ“œν•œ SETAProject 폴더λ₯Ό μ„ νƒν•˜μ—¬ μ—½λ‹ˆλ‹€.

  3. 라이브러리 μ„€μ • (κ°€μž₯ μ€‘μš”) 이메일 λ°œμ†‘ κΈ°λŠ₯을 μœ„ν•΄ jakarta.mail-1.6.7.jar νŒŒμΌμ„ ν”„λ‘œμ νŠΈ 라이브러리둜 μ„€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€.

    • File > Project Structure... λ©”λ‰΄λ‘œ λ“€μ–΄κ°‘λ‹ˆλ‹€. (단좕킀: Cmd + ; λ˜λŠ” Ctrl+Alt+Shift+S)
    • μ™Όμͺ½ νƒ­μ—μ„œ Modulesλ₯Ό μ„ νƒν•©λ‹ˆλ‹€.
    • 쀑앙 νŒ¨λ„μ—μ„œ Dependencies 탭을 μ„ νƒν•©λ‹ˆλ‹€.
    • + μ•„μ΄μ½˜μ„ ν΄λ¦­ν•˜κ³  JARs or directories...λ₯Ό μ„ νƒν•©λ‹ˆλ‹€.
    • ν”„λ‘œμ νŠΈ 폴더 λ‚΄μ˜ lib/jakarta.mail-1.6.7.jar νŒŒμΌμ„ μ°Ύμ•„ μ„ νƒν•˜κ³  OKλ₯Ό λˆ„λ¦…λ‹ˆλ‹€.
    • OKλ₯Ό 눌러 섀정을 μ™„λ£Œν•©λ‹ˆλ‹€.
  4. ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ μ™Όμͺ½ ν”„λ‘œμ νŠΈ νƒμƒ‰κΈ°μ—μ„œ JAVA_SETA/src/Main.java νŒŒμΌμ„ μ°Ύμ•„ μš°ν΄λ¦­ν•œ ν›„, Run 'Main.main()'을 μ„ νƒν•˜μ—¬ ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•©λ‹ˆλ‹€.

⌨️ 방법 2: 터미널(CLI) μ‚¬μš©

  1. ν”„λ‘œμ νŠΈ 클둠: 방법 1κ³Ό λ™μΌν•˜κ²Œ ν”„λ‘œμ νŠΈλ₯Ό λ‹€μš΄λ‘œλ“œν•©λ‹ˆλ‹€.

  2. 디렉토리 이동: ν„°λ―Έλ„μ—μ„œ ν”„λ‘œμ νŠΈ ν΄λ”λ‘œ μ΄λ™ν•©λ‹ˆλ‹€.

    cd SETAProject
  3. 컴파일 μ•„λž˜ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜μ—¬ μ†ŒμŠ€ μ½”λ“œλ₯Ό μ»΄νŒŒμΌν•©λ‹ˆλ‹€. out 폴더가 μƒμ„±λ©λ‹ˆλ‹€. (macOS/Linux κΈ°μ€€, WindowsλŠ” :λ₯Ό ;둜 λ³€κ²½)

    javac -cp "lib/jakarta.mail-1.6.7.jar" -d out JAVA_SETA/src/**/*.java
  4. μ‹€ν–‰ μ•„λž˜ λͺ…λ Ήμ–΄λ‘œ ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•©λ‹ˆλ‹€. (macOS/Linux κΈ°μ€€, WindowsλŠ” :λ₯Ό ;둜 λ³€κ²½)

    java -cp "out:lib/jakarta.mail-1.6.7.jar" Main

♻️ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ΄ˆκΈ°ν™”

μ €μž₯된 λͺ¨λ“  ν…œν”Œλ¦Ώκ³Ό 섀정을 μ§€μš°κ³  싢을 경우, μ•„λž˜μ˜ 인자(--reset)와 ν•¨κ»˜ ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

java -cp "out:lib/jakarta.mail-1.6.7.jar" Main --reset