Skip to content

lshbluesky/Database

Β 
Β 

Repository files navigation

λŒ€ν•™μƒμ„ μœ„ν•œ μ›Ή 기반의 Project Management System(PMS) - Database πŸ—ƒοΈ

Thumbnail


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

  • νŒ€ 이름 : CodeCraft
  • ν”„λ‘œμ νŠΈλͺ… : λŒ€ν•™μƒμ„ μœ„ν•œ μ›Ή 기반의 Project Management System(PMS)
  • ν”„λ‘œμ νŠΈ κΈ°κ°„ : 2024-08-12 ~ 2025-05-27
  • ν”„λ‘œμ νŠΈ ν˜•νƒœ : [3ν•™λ…„ 2ν•™κΈ° ~ 4ν•™λ…„ 1ν•™κΈ°] μ‘Έμ—…μž‘ν’ˆ μΊ‘μŠ€ν†€ λ””μžμΈ νŒ€ ν”„λ‘œμ νŠΈ
  • ν”„λ‘œμ νŠΈ μ„€λͺ…
    • PMS(Project Management System)λŠ” ν”„λ‘œμ νŠΈλ₯Ό μ²΄κ³„μ μœΌλ‘œ κ΄€λ¦¬ν•˜κ³  μ„±κ³΅μ μœΌλ‘œ μˆ˜ν–‰ν•  수 μžˆλ„λ‘ λ•λŠ” μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.
    • λ³Έ ν”„λ‘œμ νŠΈλŠ” 기쑴의 PMSλ₯Ό λ²€μΉ˜λ§ˆν‚Ήν•˜μ—¬ λŒ€ν•™μƒμ—κ²Œ ν•„μˆ˜μ μΈ κΈ°λŠ₯만 μΆ”μΆœν•˜κ³ , μ—¬κΈ°μ—μ„œ 전곡 ꡐ과 λ‚΄μš©κ³Ό 졜근 λ– μ˜€λ₯΄λŠ” AI, ν΄λΌμš°λ“œ/가상화 λ“±μ˜ κΈ°μˆ μ„ λ°˜μ˜ν•˜μ—¬ λŒ€ν•™μƒ λ§žμΆ€ν˜• PMSλ₯Ό κ°œλ°œν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.
    • λ³Έ ν”„λ‘œμ νŠΈμ—μ„œλŠ” ν”„λ‘œν† νƒ€μž… 방법둠을 μ±„νƒν•˜μ˜€μœΌλ©°, 1μ°¨ ν”„λ‘œν† νƒ€μž…μ—μ„œλŠ” 기본적인 PMS κΈ°λŠ₯을 κ°œλ°œν•˜κ³ , 2μ°¨ ν”„λ‘œν† νƒ€μž…μ—μ„œλŠ” λŒ€ν•™μƒ 및 ꡐ수λ₯Ό μœ„ν•œ μ°¨λ³„ν™”λœ κΈ°λŠ₯을 주둜 κ°œλ°œν•˜μ˜€μŠ΅λ‹ˆλ‹€.
    • λŒ€ν•™μƒμ€ λ³Έ PMSλ₯Ό 톡해 ν”„λ‘œμ νŠΈ μˆ˜ν–‰, WBS 및 μ§„μ²™ 관리, 각쒅 μ‚°μΆœλ¬Ό μž‘μ„± 및 관리, νŒ€μ› κ°„μ˜ ν˜‘μ—… 등을 효율적으둜 μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
    • κ΅μˆ˜λŠ” ꡐ수용 계정을 톡해 ν•™μƒλ“€μ˜ ν”„λ‘œμ νŠΈμ™€ μ‚°μΆœλ¬Ό 등을 ν™•μΈν•˜κ³  평가할 수 μžˆμŠ΅λ‹ˆλ‹€.
    • Google Geminiλ₯Ό ν™œμš©ν•œ PMS Advisor κΈ°λŠ₯을 ν†΅ν•˜μ—¬ ν”„λ‘œμ νŠΈ μ§„ν–‰, μ‚°μΆœλ¬Ό μž‘μ„± 및 관리 등에 λŒ€ν•˜μ—¬ μ‚¬μš©μžμ—κ²Œ 도움 및 쑰언을 μ œκ³΅ν•©λ‹ˆλ‹€.
    • μ‹œμ€‘μ˜ PMS와 달리 μ‚°μΆœλ¬Ό Docx λ³€ν™˜ 및 λ‹€μš΄λ‘œλ“œ, μ‚¬μš©μžλ³„ κΆŒν•œ 및 메뉴 μ ‘κ·Ό μ œμ–΄, ν”„λ‘œμ νŠΈ Import/Export 및 버전 관리, μ„ λ°° μž‘ν’ˆ λ·°μ–΄ κΈ°λŠ₯ 등을 μ œκ³΅ν•©λ‹ˆλ‹€.

πŸ—‚οΈ λͺ©μ°¨

  1. 개발 λͺ©ν‘œ 및 μΆœμ‹œ λ°°κ²½
  2. 개발 ν™˜κ²½
  3. μ‚¬μš© 기술 μŠ€νƒ 및 μ•„ν‚€ν…μ²˜
  4. ν”„λ‘œμ νŠΈ κΈ°κ°„
  5. 개발 쀑점 사항
  6. ν”„λ‘œμ νŠΈ κ΄€λ ¨ λͺ¨λ“  μ‚°μΆœλ¬Ό λͺ©λ‘
  7. DB λͺ¨λΈλ§ 및 섀계, 자료 흐름도(DFD)
  8. WBS 및 진척관리
  9. ν…ŒμŠ€νŠΈ 및 ν’ˆμ§ˆκ΄€λ¦¬
  10. ν˜‘μ—… 및 ν˜•μƒκ΄€λ¦¬
  11. νŠΈλŸ¬λΈ” μŠˆνŒ…
  12. ν”„λ‘œμ νŠΈ μ„±κ³Ό 및 λŠλ‚€μ , ν–₯ν›„ 연ꡬ 개발 λ°©ν–₯
  13. PMS μ‹œμ—° λͺ¨μŠ΅

1. πŸ’‘ 개발 λͺ©ν‘œ 및 μΆœμ‹œ λ°°κ²½

  • 개발 λͺ©ν‘œ : 기쑴의 PMSλ₯Ό λ²€μΉ˜λ§ˆν‚Ήν•˜μ—¬ λŒ€ν•™μƒμ—κ²Œ ν•„μˆ˜μ μΈ κΈ°λŠ₯만 μΆ”μΆœν•˜κ³ , μ—¬κΈ°μ—μ„œ 전곡 ꡐ과 λ‚΄μš©κ³Ό 졜근 λ– μ˜€λ₯΄λŠ” AI, ν΄λΌμš°λ“œ/가상화 λ“±μ˜ κΈ°μˆ μ„ λ°˜μ˜ν•˜μ—¬ λŒ€ν•™μƒ λ§žμΆ€ν˜• PMSλ₯Ό κ°œλ°œν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.
  • 초보자λ₯Ό μœ„ν•œ
    • ν”„λ‘œμ νŠΈλ₯Ό 처음 ν•˜λŠ” λŒ€ν•™μƒμ€ μ–΄λ–»κ²Œ μ§„ν–‰ν•΄μ•Ό ν• μ§€ λͺ¨λ¦…λ‹ˆλ‹€. 즉, ν”„λ‘œμ νŠΈλ₯Ό 처음 ν•˜λŠ” λŒ€ν•™μƒμ€ μ–΄λ–€ μ²΄κ³„λ‘œ ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•΄μ•Ό ν• μ§€ λ§‰μ—°ν•˜κ³ , ν”„λ‘œμ νŠΈ λ°©λ²•λ‘ μ˜ μ§€μ‹μ΄λ‚˜ μ§„μ²™ 관리 λ“±μ˜ 방법을 λͺ¨λ₯΄λŠ” κ²½μš°κ°€ λ§ŽμŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ, 초보자λ₯Ό μœ„ν•œ PMSλ₯Ό λ§Œλ“€μžλΌλŠ” 생각을 ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • λŒ€ν•™μƒμ„ μœ„ν•œ
    • λŒ€ν•™μƒμ„ μœ„ν•œ λ§žμΆ€ν˜• PMSκ°€ μ—†μŠ΅λ‹ˆλ‹€. μ‹œμ€‘μ˜ PMS(Trello, Asana, Jira, Notion λ“±)λŠ” κΈ°μ—… μ‚¬μš©μžμ—κ²Œ νŠΉν™”λ˜μ–΄ 있고 λŒ€ν•™μƒμ΄ μ‚¬μš©ν•˜κΈ°μ—λŠ” λΆ€μ ν•©ν•˜λ©°, μ§€μ›λ˜λŠ” μ‚°μΆœλ¬Ό μ’…λ₯˜κ°€ 적고, AI λ“±μ˜ 기술이 적용된 κΈ°λŠ₯κ³Ό κ°€μ΄λ“œ/도움말이 λΆ€μ‘±ν•©λ‹ˆλ‹€. κ·Έλž˜μ„œ, λŒ€ν•™μƒμ„ μœ„ν•œ PMSλ₯Ό λ§Œλ“€μžλΌλŠ” 생각을 ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • ꡐ수λ₯Ό μœ„ν•œ
    • κ΅μˆ˜κ°€ ν•™μƒλ“€μ˜ ν”„λ‘œμ νŠΈλ₯Ό ν™•μΈν•˜κ³  ν‰κ°€ν•˜λŠ” κΈ°λŠ₯이 μ—†μŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ, ꡐ수λ₯Ό μœ„ν•œ PMSλ₯Ό λ§Œλ“€μžλΌλŠ” 생각을 ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.


2. πŸ› οΈ 개발 ν™˜κ²½

  • Server : CPU : AMD Ryzen V1500B, RAM : 8GB, Storage : 128GB (VMware ESXi)
  • OS : Ubuntu 24.04 LTS
  • Container : Docker, Portainer
  • 개발 μ–Έμ–΄ : Python, TypeScript
  • 라이브러리/ν”„λ ˆμž„μ›Œν¬ : React, Next.JS, Axios, FastAPI
  • λ°μ΄ν„°λ² μ΄μŠ€ : MySQL
  • IDE : Microsoft Visual Studio Code, Code-Server
  • 버전 및 ν˜•μƒ 관리 : GitHub Desktop, VMware Snapshot Backup

3. πŸ“š μ‚¬μš© 기술 μŠ€νƒ 및 μ•„ν‚€ν…μ²˜

  • Server OS : Ubuntu 24.04 LTS
  • Front-End : TypeScript, React, Next.JS, Axios
  • Back-End : Python, FastAPI, Docker, Portainer
  • DataBase : MySQL, μ ˆμ°¨ν˜• SQL(Procedure, Function), μ˜΅ν‹°λ§ˆμ΄μ € 힌트 및 인덱슀
  • LLM(AI) : Google Gemini 2.0 Flash

μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜ (System Architecture)

μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ•„ν‚€ν…μ²˜ (Application Architecture)

4. πŸ“† ν”„λ‘œμ νŠΈ κΈ°κ°„

  • 주제 탐색 및 μ„ μ • : 2024-08-12 ~ 2024-09-30
  • ν”„λ‘œμ νŠΈ κ³„νš : 2024-09-30 ~ 2024-10-21
  • μš”κ΅¬μ‚¬ν•­ 뢄석 : 2024-10-09 ~ 2024-10-21
  • ν”„λ‘œμ νŠΈ 섀계 : 2024-10-09 ~ 2024-10-30
  • ν”„λ‘œμ νŠΈ 개발 : 2024-10-13 ~ 2025-04-13
    • 1μ°¨ ν”„λ‘œν† νƒ€μž… 개발 : 2024-10-13 ~ 2024-12-17
    • 2μ°¨ ν”„λ‘œν† νƒ€μž… 개발 : 2024-12-18 ~ 2025-04-13
  • ν…ŒμŠ€νŠΈ
    • λ‹¨μœ„ ν…ŒμŠ€νŠΈ : 2025-03-21 ~ 2025-04-10
    • 톡합 ν…ŒμŠ€νŠΈ : 2025-04-25 ~ 2025-04-27
  • μ‘Έμ—…μž‘ν’ˆ 심사 : 2025-04-29
  • λ…Όλ¬Έ μž‘μ„± 및 제좜 : 2025-05-09 ~ 2025-05-19
  • μ‘Έμ—…μž‘ν’ˆ μ „μ‹œνšŒ : 2025-05-27

5. 🎯 개발 쀑점 사항

  • λ‹€μŒκ³Ό 같은 전곡 ꡐ과 λ‚΄μš©μ„ λ°˜μ˜ν•˜μ—¬ ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
    • μ†Œν”„νŠΈμ›¨μ–΄ 곡학 : μ†Œν”„νŠΈμ›¨μ–΄ 생λͺ… μ£ΌκΈ°(SDLC) 및 개발 방법둠, 자료 흐름도(DFD), μ§„μ²™ 관리, ν’ˆμ§ˆ 관리, ν˜•μƒ 관리
    • 데이터 톡신, 컴퓨터 λ„€νŠΈμ›Œν¬ : 온-ν”„λ ˆλ―ΈμŠ€ μ„œλ²„ ꡬ좕, OSI 7계측, TCP/IP, HTTP/HTTPS, 포트 ν¬μ›Œλ”©, SSH
    • λ°μ΄ν„°λ² μ΄μŠ€ : DB 섀계 및 데이터 λͺ¨λΈλ§, SQL, μ ˆμ°¨ν˜• SQL(Procedure, Function), μ˜΅ν‹°λ§ˆμ΄μ € 힌트 및 인덱슀λ₯Ό ν†΅ν•œ SQL νŠœλ‹
  • λ‹€μŒκ³Ό 같은 μ΅œμ‹  κΈ°μˆ μ„ λ°˜μ˜ν•˜μ—¬ ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
    • LLM(AI) : Google Gemini 2.0 Flash
    • 가상화 μ»¨ν…Œμ΄λ„ˆ : Docker, Portainer
  • ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜λ©΄μ„œ μž‘μ„±λœ κ³„νš, μš”κ΅¬μ‚¬ν•­ 뢄석, 섀계, κ΅¬ν˜„, ν…ŒμŠ€νŠΈ λ‹¨κ³„μ˜ μ—¬λŸ¬ κ°€μ§€ 각쒅 μ‚°μΆœλ¬Όμ„ μž‘μ„±ν•˜κ³  κ΄€λ¦¬ν•˜λ„λ‘ ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • WBS, 회의둝 등을 톡해 체계적인 μ§„μ²™ 관리가 μ΄λ£¨μ–΄μ§ˆ 수 μžˆλ„λ‘ ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • λ‹¨μœ„ ν…ŒμŠ€νŠΈμ™€ 톡합 ν…ŒμŠ€νŠΈλ₯Ό μ§„ν–‰ν•˜λ©°, 각각 ν…ŒμŠ€νŠΈ κ³„νšμ„œμ™€ ν…ŒμŠ€νŠΈ κ²°κ³Όμ„œλ₯Ό μž‘μ„±ν•˜μ—¬ ν’ˆμ§ˆ 관리λ₯Ό μ§„ν–‰ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • GitHubλ₯Ό ν†΅ν•˜μ—¬ νŒ€μ› κ°„μ˜ ν˜‘μ—… 및 μ†ŒμŠ€ μ½”λ“œμ˜ 버전을 κ΄€λ¦¬ν•˜κ³ , 각쒅 μ‚°μΆœλ¬Ό νŒŒμΌλ„ λ””λ ‰ν† λ¦¬λ³„λ‘œ 버전을 κ΄€λ¦¬ν•˜μ—¬ 체계적인 ν˜•μƒ 관리λ₯Ό μ§„ν–‰ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • 개발 κ³Όμ •μ—μ„œ 어렀움 λ˜λŠ” 였λ₯˜κ°€ λ°œμƒν•  μ‹œ νŒ€μ› κ°„ μ„œλ‘œ ν˜‘λ ₯ν•˜μ—¬ ν•΄κ²°ν•˜λŠ” 과정을 κ°€μ§ˆ 수 μžˆλ„λ‘ ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

6. πŸ“‹ ν”„λ‘œμ νŠΈ κ΄€λ ¨ λͺ¨λ“  μ‚°μΆœλ¬Ό λͺ©λ‘

  • κ³„νš
    • ν”„λ‘œμ νŠΈ κ³„νšμ„œ
    • WBS
    • 회의둝(주기적으둜 μž‘μ„±)
  • μš”κ΅¬ 뢄석
    • μš”κ΅¬μ‚¬ν•­ λͺ…μ„Έμ„œ
    • SOW
    • 메뉴 ꡬ성도
    • System Architecture
    • Application Architecture
    • 자료 흐름도(DFD)
  • 섀계
    • API μ„€κ³„μ„œ
    • ν™”λ©΄/λ ˆμ΄μ•„μ›ƒ(UI) μ„€κ³„μ„œ
    • μ‚°μΆœλ¬Ό ꡬ쑰 λͺ…μ„Έμ„œ
    • μ‚¬μš©μž κΆŒν•œ μ„ΈλΆ„ν™” μ„€κ³„μ„œ
    • ν”„λ‘œμ νŠΈ Import/Export 버전 관리 κΈ°λŠ₯ μ„€κ³„μ„œ
    • DB μš”κ΅¬μ‚¬ν•­ 및 업무 뢄석 λͺ…μ„Έμ„œ
    • ERD
    • DB 도메인 μ •μ˜μ„œ
    • DB ν…Œμ΄λΈ” μ •μ˜μ„œ
    • DB κΈ°λŠ₯별 ν•¨μˆ˜ 정리
  • κ΅¬ν˜„ 및 ν…ŒμŠ€νŠΈ
    • μ†ŒμŠ€ μ½”λ“œ
    • λ‹¨μœ„ ν…ŒμŠ€νŠΈ κ³„νšμ„œ
    • λ‹¨μœ„ ν…ŒμŠ€νŠΈ κ²°κ³Όμ„œ
    • 톡합 ν…ŒμŠ€νŠΈ κ³„νšμ„œ
    • 톡합 ν…ŒμŠ€νŠΈ κ²°κ³Όμ„œ

7. πŸ“ƒ DB λͺ¨λΈλ§ 및 섀계, 자료 흐름도(DFD)

  • ERD (Entity-Relationship Diagram)

    • DB μš”κ΅¬μ‚¬ν•­ 및 업무 뢄석 λͺ…μ„Έμ„œλ₯Ό λ°”νƒ•μœΌλ‘œ 개체, 속성, 관계λ₯Ό λ„μΆœν•˜μ—¬ ERDλ₯Ό μž‘μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

  • DB 도메인 μ •μ˜μ„œ, ν…Œμ΄λΈ” μ •μ˜μ„œ

    • 컬럼의 데이터 νƒ€μž…, κΈ°λ³Έκ°’, μ œμ•½ 쑰건 등을 λͺ…μ„Έν•œ DB 도메인 μ •μ˜μ„œλ₯Ό μž‘μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
    • 각 ν…Œμ΄λΈ”μ˜ 컬럼λͺ…κ³Ό 컬럼 μ„€λͺ…, 데이터 νƒ€μž…, Null ν—ˆμš© μ—¬λΆ€, ν‚€(Key) 등을 λͺ…μ„Έν•œ DB ν…Œμ΄λΈ” μ •μ˜μ„œλ₯Ό μž‘μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

DB 도메인 μ •μ˜μ„œ

DB ν…Œμ΄λΈ” μ •μ˜μ„œ
  • 자료 흐름도(DFD)


DFD - 학생 둜그인 및 νšŒμ›κ°€μž…

DFD - ν”„λ‘œμ νŠΈ 관리

DFD - 진척도 관리

DFD - κΆŒν•œ 관리

DFD - ν”„λ‘œμ νŠΈ Export

DFD - ν”„λ‘œμ νŠΈ Import

DFD - PMS Advisor

8. πŸ“‘ WBS 및 진척관리

  1. ν”„λ‘œμ νŠΈλ₯Ό μ‹œμž‘ν•˜κΈ° 전에 ν”„λ‘œμ νŠΈ κ³„νšμ„œλ₯Ό μž‘μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  2. 이λ₯Ό λ°”νƒ•μœΌλ‘œ μš”κ΅¬μ‚¬ν•­ λͺ…μ„Έμ„œμ™€ UI λͺ…μ„Έμ„œ, 메뉴 ꡬ성도 등을 μž‘μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  3. μ•„ν‚€ν…μ²˜ λ“±μ˜ 각쒅 섀계λ₯Ό μ§„ν–‰ν•˜κ³ , 이λ₯Ό μ’…ν•©ν•˜μ—¬ SOWλ₯Ό μž‘μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  4. μœ„μ˜ λ‚΄μš©μ„ μ’…ν•©ν•˜μ—¬ WBSμ—μ„œ κ³„νš, μš”κ΅¬μ‚¬ν•­ 뢄석, 섀계, 1μ°¨ & 2μ°¨ ν”„λ‘œν† νƒ€μž… 개발, ν…ŒμŠ€νŠΈ 및 μœ μ§€λ³΄μˆ˜, μ‘Έμ—…μž‘ν’ˆ 심사/μ „μ‹œνšŒ μ€€λΉ„, μ‘Έμ—… λ…Όλ¬Έ μž‘μ„±κΉŒμ§€μ˜ 일정을 μˆ˜λ¦½ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  5. λ§€μ£Ό 1회 이상 μ£Όκ°„ 회의λ₯Ό 톡해 WBS의 Taskκ°€ 잘 μ§„μ²™λ˜μ—ˆλŠ”μ§€ μ κ²€ν•˜κ³ , λˆ„λ½λœ 사항과 λ¬Έμ œλŠ” μ—†μ—ˆλŠ”μ§€ ν™•μΈν•˜λ©° μ§„μ²™ 관리λ₯Ό μ§„ν–‰ν•΄ ν•΄μ™”μŠ΅λ‹ˆλ‹€.


9. πŸ“ ν…ŒμŠ€νŠΈ 및 ν’ˆμ§ˆκ΄€λ¦¬

  • λ‹¨μœ„ ν…ŒμŠ€νŠΈ

    • μš”κ΅¬μ‚¬ν•­ λͺ…μ„Έμ„œμ˜ λ‚΄μš©λŒ€λ‘œ 섀계가 λ˜μ—ˆλŠ”μ§€ ν™•μΈν•˜κ³  ν”„λ‘ νŠΈμ—”λ“œ, λ°±μ—”λ“œ, DB νŒŒνŠΈλ³„λ‘œ λ‹¨μœ„ ν…ŒμŠ€νŠΈ κ³„νšμ„œμ™€ κ²°κ³Όμ„œλ₯Ό μž‘μ„±ν•˜μ—¬ ν’ˆμ§ˆ 관리λ₯Ό μ§„ν–‰ν–ˆμŠ΅λ‹ˆλ‹€.
    • νŒŒνŠΈλ³„λ‘œ λ‹¨μœ„ ν…ŒμŠ€νŠΈλ₯Ό μ§„ν–‰ν•˜μ—¬ ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€ ν•­λͺ©λ³„λ‘œ P/NP μ—¬λΆ€λ₯Ό ν™•μΈν•˜κ³ , 발견된 였λ₯˜/결함을 μ–΄λ–»κ²Œ ν•΄κ²°ν•˜μ˜€λŠ”μ§€μ— λŒ€ν•˜μ—¬ μžμ„Έν•˜κ²Œ κΈ°λ‘ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

λ°±μ—”λ“œ(API) - λ‹¨μœ„ ν…ŒμŠ€νŠΈ κ³„νšμ„œ

DB - λ‹¨μœ„ ν…ŒμŠ€νŠΈ κ³„νšμ„œ

λ‹¨μœ„ ν…ŒμŠ€νŠΈ κ²°κ³Όμ„œ

λ‹¨μœ„ ν…ŒμŠ€νŠΈ κ²°κ³Όμ„œ - 결함 쑰치 λ‚΄μš©
  • 톡합 ν…ŒμŠ€νŠΈ

    • μ‚¬μš©μžμ˜ κ΄€μ μ—μ„œ PMS의 μ „λ°˜μ μΈ κΈ°λŠ₯을 μ κ²€ν•˜κΈ° μœ„ν•œ μ‹œλ‚˜λ¦¬μ˜€ 기반으둜 톡합 ν…ŒμŠ€νŠΈ κ³„νšμ„œμ™€ κ²°κ³Όμ„œλ₯Ό μž‘μ„±ν•˜μ—¬ ν’ˆμ§ˆ 관리λ₯Ό μ§„ν–‰ν–ˆμŠ΅λ‹ˆλ‹€.
    • 톡합 ν…ŒμŠ€νŠΈλ₯Ό μ§„ν–‰ν•˜μ—¬ ν…ŒμŠ€νŠΈ μ‹œλ‚˜λ¦¬μ˜€ ν•­λͺ©λ³„λ‘œ P/NP μ—¬λΆ€λ₯Ό ν™•μΈν•˜κ³ , 발견된 였λ₯˜/결함을 μ–΄λ–»κ²Œ ν•΄κ²°ν•˜μ˜€λŠ”μ§€μ— λŒ€ν•˜μ—¬ μžμ„Έν•˜κ²Œ κΈ°λ‘ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

톡합 ν…ŒμŠ€νŠΈ κ³„νšμ„œ

톡합 ν…ŒμŠ€νŠΈ κ²°κ³Όμ„œ

톡합 ν…ŒμŠ€νŠΈ κ²°κ³Όμ„œ - 결함 쑰치 λ‚΄μš©

10. πŸ—ƒοΈ ν˜‘μ—… 및 ν˜•μƒκ΄€λ¦¬

  • GitHubλ₯Ό ν†΅ν•œ ν˜‘μ—… : νŒ€μ›λ§ˆλ‹€ 개발 및 μž‘μ—…ν•œ μ†ŒμŠ€ μ½”λ“œλ₯Ό GitHub μ €μž₯μ†Œμ—μ„œ Pull Request μƒμ„±ν•˜κ³ , νŒ€μž₯이 κ²€ν†  및 승인 ν›„ Merge(병합)ν•˜λŠ” λ°©μ‹μœΌλ‘œ ν˜‘μ—…μ„ μ§„ν–‰ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • ν˜•μƒ 관리 :
    • μ†ŒμŠ€ μ½”λ“œμ˜ 버전 κ΄€λ¦¬λŠ” GitHubλ₯Ό ν†΅ν•˜μ—¬ κ΄€λ¦¬ν•΄μ™”μœΌλ©°, 각쒅 μ‚°μΆœλ¬Ό νŒŒμΌλ„ λ””λ ‰ν† λ¦¬λ³„λ‘œ 버전을 κ΄€λ¦¬ν•˜μ—¬ 체계적인 ν˜•μƒ 관리λ₯Ό μ§„ν–‰ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
    • VMware ESXi의 Snapshot Backup κΈ°λŠ₯을 ν™œμš©ν•˜μ—¬ 주기적인 2쀑 백업을 μ§„ν–‰ν•¨μœΌλ‘œμ¨, μ² μ €ν•œ λ°±μ—… 체계λ₯Ό κ΅¬μΆ•ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

ν˜•μƒ 관리 - DB κ΄€λ ¨ PR λ‚΄μ—­

ν˜•μƒ 관리 - μ‚°μΆœλ¬Ό

ν˜•μƒ 관리 - PR 병합 κ·Έλž˜ν”„

ν˜•μƒ 관리 - μŠ€λƒ…μƒ· 2쀑 λ°±μ—…

11. πŸͺ› νŠΈλŸ¬λΈ” μŠˆνŒ…

  • 문제 : PMS Advisor κΈ°λŠ₯μ—μ„œ LLM에 μ œκ³΅ν•  ν”„λ‘œμ νŠΈμ˜ λͺ¨λ“  정보λ₯Ό μ–΄λ–»κ²Œ 전달할 것인지에 λŒ€ν•œ 어렀움

    • κ³ λ―Ό : μ²˜μŒμ—λŠ” ν”„λ‘œμ νŠΈμ™€ 진척도, 업무, 각쒅 μ‚°μΆœλ¬Ό ν…Œμ΄λΈ”μ„ λͺ¨λ‘ μ‘°μΈν•΄μ„œ ν•˜λ‚˜μ˜ κ²°κ³Ό ν…Œμ΄λΈ”μ„ CSV 파일둜 내보내렀고 ν•˜μ˜€μ§€λ§Œ, μ‘°μΈλ˜λŠ” ν…Œμ΄λΈ”μ΄ λ§Žμ•„μ§μ— 따라 ν–‰μ˜ μˆ˜κ°€ κΈ°ν•˜κΈ‰μˆ˜μ μœΌλ‘œ λŠ˜μ–΄λ‚˜λ©΄μ„œ 맀우 λΉ„νš¨μœ¨μ μ΄κ³  LLMμ—κ²Œ μ „λ‹¬ν•˜κΈ°μ—λŠ” 어렀움이 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.
    • ν•΄κ²° : ν”„λ‘œμ νŠΈ 번호λ₯Ό 맀개 λ³€μˆ˜λ‘œ λ°›μ•„μ„œ ν”„λ‘œμ νŠΈμ™€ 업무, 진척도, λͺ¨λ“  μ‚°μΆœλ¬Ό ν…Œμ΄λΈ”μ„ 각각 μ‘°νšŒν•˜κ³  JSON으둜 κ°€κ³΅ν•˜μ—¬ λ°˜ν™˜ν•˜λŠ” fetch_project_for_LLM(pid) ν•¨μˆ˜λ₯Ό 직접 μ •μ˜ν•˜μ—¬ ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€.
  • 문제 : DB 섀계가 이미 μ™„λ£Œλœ μƒνƒœμ—μ„œ PMS의 μΆ”κ°€ κΈ°λŠ₯ κ΅¬ν˜„μ— ν•„μš”ν•œ ν…Œμ΄λΈ” 및 컬럼, μ™Έλž˜ν‚€ μΆ”κ°€λ‘œ μΈν•œ DB ꡬ쑰 λ³€κ²½ 문제

    • ν•΄κ²° : 개체 κ°„μ˜ 관계λ₯Ό μ μ ˆν•˜κ²Œ νŒŒμ•…ν•˜κ³  λ‹€λ₯Έ ν…Œμ΄λΈ”μ—λŠ” 영ν–₯이 적도둝 DB ꡬ쑰λ₯Ό λ³€κ²½ν•˜μ˜€μŠ΅λ‹ˆλ‹€. μ‹€μ œ μž‘μ—…ν•œ μ‚¬λ‘€λ‘œλŠ” 학과별 ꡐ과λͺ© 정보λ₯Ό μΆ”κ°€ν•΄μ•Ό ν•˜λŠ” μƒν™©μ—μ„œ ν•™κ³Ό ν…Œμ΄λΈ”κ³Ό κ³Όλͺ© ν…Œμ΄λΈ”μ€ 1:N κ΄€κ³„μ΄λ―€λ‘œ, ν•™κ³Ό 번호λ₯Ό μ™Έλž˜ν‚€λ‘œ μ„€μ •ν•˜μ—¬ 비식별 κ΄€κ³„λ‘œ μ„€μ •ν•˜μ˜€μŠ΅λ‹ˆλ‹€. λ˜ν•œ, ν”„λ‘œμ νŠΈ 성적 ν…Œμ΄λΈ”μ€ 1:1 κ΄€κ³„μ΄λ―€λ‘œ, ν”„λ‘œμ νŠΈ 번호λ₯Ό μ™Έλž˜ν‚€μ΄λ©΄μ„œ λ™μ‹œμ— κΈ°λ³Έν‚€λ‘œ μ„€μ •ν•˜μ—¬ 식별 κ΄€κ³„λ‘œ μƒμ„±ν•˜λŠ” λ“± 개체 κ°„μ˜ 관계λ₯Ό μ μ ˆν•˜κ²Œ νŒŒμ•…ν•˜μ—¬ DB ꡬ쑰λ₯Ό λ³€κ²½ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • 문제 : PMSμ—μ„œ ν”„λ‘œμ νŠΈ Import/Export 및 버전 관리 κΈ°λŠ₯을 μ–΄λ–»κ²Œ κ΅¬ν˜„ν•  것인지에 λŒ€ν•œ 어렀움

    • ν•΄κ²° : MySQL의 CSV νŒŒμΌμ„ ν™œμš©ν•˜μ—¬ 데이터λ₯Ό 내보내고 κ°€μ Έμ˜€λŠ” 방식을 μ‚¬μš©ν•˜μ˜€μŠ΅λ‹ˆλ‹€. λ˜ν•œ, ν”„λ‘œμ νŠΈ 버전 정보λ₯Ό μ €μž₯ν•˜κΈ° μœ„ν•œ λ³„λ„μ˜ ν…Œμ΄λΈ”μ„ μƒμ„±ν•˜κ³ , 이λ₯Ό 톡해 μ‚¬μš©μžκ°€ 이전 λ²„μ „μœΌλ‘œ μ‰½κ²Œ λ‘€λ°±ν•  수 μžˆλ„λ‘ κ΅¬ν˜„ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • 문제 : Oracleκ³Ό 달리 MySQLμ—μ„œ μ‹œν€€μŠ€ κΈ°λŠ₯ λ―Έμ§€μ›μœΌλ‘œ μΈν•œ ν”„λ‘œμ νŠΈλ³„ μ‹œν€€μŠ€ 번호 μ‚¬μš©μ΄ λΆˆκ°€λŠ₯ν•œ 문제

    • ν•΄κ²° : λ³„λ„μ˜ μ‹œν€€μŠ€ ν…Œμ΄λΈ”μ„ μƒμ„±ν•˜κ³ , μ ˆμ°¨ν˜• SQL의 Procedure와 Function을 ν™œμš©ν•˜μ—¬ ν”„λ‘œμ νŠΈλ³„ μ‹œν€€μŠ€ κΈ°λŠ₯을 κ΅¬ν˜„ν•˜μ—¬ ν•΄κ²°ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • 문제 : PMSμ—μ„œ WBSλ₯Ό μ‘°νšŒν•˜λŠ” 쿼리의 μ‹€ν–‰ κ³„νšμ—μ„œ λ³„λ„μ˜ Using filesortκ°€ λ°œμƒν•˜λŠ” 문제

    • ν•΄κ²° : ORDER BY μ ˆμ— μ‚¬μš©λœ 컬럼이 μΈλ±μŠ€μ— ν¬ν•¨λ˜μ§€ μ•Šμ•„ λ°œμƒν•˜λŠ” 문제이며, 볡합 컬럼 인덱슀λ₯Ό μƒμ„±ν•œ 후에 /*+ INDEX(progress idx_progress_pno_group1to4) */ μ˜΅ν‹°λ§ˆμ΄μ € 힌트둜 ν•΄λ‹Ή 인덱슀λ₯Ό μ μš©ν•¨μœΌλ‘œμ¨ Using filesortλ₯Ό μ œκ±°ν•˜κ³  쿼리 μ„±λŠ₯을 κ°œμ„ ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

12. πŸ“Š ν”„λ‘œμ νŠΈ μ„±κ³Ό 및 λŠλ‚€μ , ν–₯ν›„ 연ꡬ 개발 λ°©ν–₯

  • ν”„λ‘œμ νŠΈ μ„±κ³Ό 및 λŠλ‚€μ 

    • DBλ₯Ό μ²˜μŒλΆ€ν„° 직접 μš”κ΅¬μ‚¬ν•­ 뢄석, κ°œλ…μ  및 논리적 λͺ¨λΈλ§μ„ μ§„ν–‰ν•˜λ©΄μ„œ 1:1, 1:N, M:N 관계일 λ•Œμ˜ λͺ¨λΈλ§ 과정을 직접 κ²½ν—˜ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.
      • 특히, 학생과 ν”„λ‘œμ νŠΈμ˜ M:N κ΄€κ³„λŠ” λ³„λ„μ˜ ν”„λ‘œμ νŠΈ μ°Έμ—¬ ν…Œμ΄λΈ”μ„ μƒμ„±ν•˜κ³  각 ν…Œμ΄λΈ”μ˜ κΈ°λ³Έν‚€λ₯Ό μ™Έλž˜ν‚€λ‘œ κ°€μ Έμ˜€λ©΄μ„œ λ™μ‹œμ— 볡합 κΈ°λ³Έν‚€λ‘œ μ„€μ •ν•˜λŠ” 것을 톡해 M:N 관계λ₯Ό λͺ¨λΈλ§ν•˜λŠ” 방법을 배울 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.
    • μΈλ±μŠ€μ™€ μ˜΅ν‹°λ§ˆμ΄μ € 힌트λ₯Ό ν™œμš©ν•˜μ—¬ SQL νŠœλ‹ 및 μ΅œμ ν™”λ₯Ό μ§„ν–‰ν•˜λ©΄μ„œ, 인덱슀의 μ’…λ₯˜μ™€ νŠΉμ§•, μ˜΅ν‹°λ§ˆμ΄μ € 힌트 ꡬ문을 ν†΅ν•œ 쿼리 μ„±λŠ₯ κ°œμ„  방법 등을 배울 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.
      • 특히, PMSμ—μ„œ WBSλ₯Ό μ‘°νšŒν•˜λŠ” 쿼리의 μ‹€ν–‰ κ³„νšμ—μ„œ λ³„λ„μ˜ Using filesortκ°€ λ°œμƒν•˜λŠ” 문제λ₯Ό μ˜΅ν‹°λ§ˆμ΄μ € 힌트λ₯Ό ν™œμš©ν•˜μ—¬ 인덱슀λ₯Ό μ μš©ν•¨μœΌλ‘œμ¨ Using filesortλ₯Ό μ œκ±°ν•˜κ³  쿼리 μ„±λŠ₯을 κ°œμ„ ν•˜λŠ” κ²½ν—˜μ„ ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.
    • μ›Ή 기반의 PMSλ₯Ό κ°œλ°œν•˜λ©΄μ„œ, ν”„λ‘ νŠΈμ—”λ“œ-λ°±μ—”λ“œ-DB κ°„μ˜ 연동 및 톡신 과정을 μ΄ν•΄ν•˜κ³  κ²½ν—˜ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.
      • 특히, λ°±μ—”λ“œμ™€ DBλ₯Ό μ—°λ™ν•˜λŠ” 방법, μ™ΈλΆ€ 인터넷과 λ°±μ—”λ“œμ˜ Docker μ»¨ν…Œμ΄λ„ˆ κ°„μ˜ 톡신을 μœ„ν•œ 포트 ν¬μ›Œλ”©, SSH둜 DB μ½˜μ†”μ— μ ‘μ†ν•˜λŠ” 방법 등을 배울 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.
    • ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜λ©΄μ„œ 개발 μž‘μ—…λΏλ§Œμ΄ μ•„λ‹ˆλΌ, μ—¬λŸ¬ κ°€μ§€μ˜ 각쒅 μ‚°μΆœλ¬Ό μž‘μ„±κ³Ό μ§„μ²™ 관리, ν’ˆμ§ˆ 관리, ν˜•μƒ 관리가 μ€‘μš”ν•˜λ‹€λŠ” 것을 κΉ¨λ‹¬μ•˜μŠ΅λ‹ˆλ‹€.
      • WBSλŠ” ν”„λ‘œμ νŠΈμ˜ μ „λ°˜μ μΈ 개발 일정을 κ΄€λ¦¬ν•˜λŠ” 데 큰 도움이 λ˜μ—ˆμœΌλ©°, 정기적인 회의λ₯Ό 톡해 νŒ€μ› κ°„μ˜ μ§„μ²™ 사항을 κ³΅μœ ν•˜κ³  ν”Όλ“œλ°±μ„ μ£Όκ³ λ°›λŠ” 과정이 μ€‘μš”ν•˜λ‹€λŠ” 것을 λŠκΌˆμŠ΅λ‹ˆλ‹€.
      • λ‹¨μœ„ ν…ŒμŠ€νŠΈμ™€ 톡합 ν…ŒμŠ€νŠΈλ₯Ό μ§„ν–‰ν•˜λ©΄μ„œ ν’ˆμ§ˆ κ΄€λ¦¬μ˜ μ€‘μš”μ„±μ„ κΉ¨λ‹¬μ•˜μœΌλ©°, ν…ŒμŠ€νŠΈ κ³„νšμ„œμ™€ κ²°κ³Όμ„œλ₯Ό μž‘μ„±ν•˜μ—¬ 발견된 였λ₯˜/결함을 μ–΄λ–»κ²Œ ν•΄κ²°ν•˜μ˜€λŠ”μ§€μ— λŒ€ν•΄ μžμ„Έν•˜κ²Œ κΈ°λ‘ν•˜λŠ” 것이 ν’ˆμ§ˆ 관리에 μ€‘μš”ν•˜λ‹€λŠ” 것을 κΉ¨λ‹¬μ•˜μŠ΅λ‹ˆλ‹€.
      • GitHubλ₯Ό ν†΅ν•œ ν˜‘μ—…μ€ νŒ€μ› κ°„μ˜ μ†ŒμŠ€ μ½”λ“œ 버전 관리 및 ν˜•μƒ 관리λ₯Ό μ²΄κ³„μ μœΌλ‘œ μ§„ν–‰ν•˜λŠ” 데 큰 도움이 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • ν–₯ν›„ 연ꡬ 개발 λ°©ν–₯

    • ν•™κ΅μ˜ μ„œλ²„λ₯Ό 톡해 μ‹€μ œλ‘œ μš΄μ˜ν•œλ‹€λ©΄, 우리 ν•™κ΅λ§Œμ˜ PMSκ°€ 되리라 κΈ°λŒ€ν•©λ‹ˆλ‹€.
    • κ³΅λŒ€ 계열 ν•™κ³Όκ°€ μ•„λ‹Œ λ‹€λ₯Έ κ³„μ—΄μ˜ 학과도 ν•™κ³Ό 정보, κ³Όλͺ© μ½”λ“œ 등을 DBμ—λ§Œ μž…λ ₯ν•˜λ©΄ λ°”λ‘œ μ‚¬μš©μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€. (별도 κΈ°λŠ₯ μΆ”κ°€ 및 기쑴의 μ†ŒμŠ€ μ½”λ“œλ₯Ό μˆ˜μ •ν•  ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€.)
    • μ‚¬μš©μžμ—κ²Œ λΆˆνŽΈν•œ λΆ€λΆ„, λΆ€μ‘±ν•œ κΈ°λŠ₯, UI κ°œμ„  λ“±μ˜ ν”Όλ“œλ°±μ„ λ°›μœΌλ©΄μ„œ λ³΄μ™„ν•œλ‹€λ©΄, 더 쒋은 PMS둜 λ°œμ „ν•  κ²ƒμž…λ‹ˆλ‹€.
    • PMS Advisor κΈ°λŠ₯μ—μ„œ 더 λ‚˜μ€ AI 인곡지λŠ₯ 닡변을 μ œκ³΅ν•  수 μžˆλ„λ‘ LLM νŠœλ‹ 및 μ΅œμ ν™”ν•œλ‹€λ©΄, λ”μš± 쒋은 μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•  수 μžˆμ„ κ²ƒμž…λ‹ˆλ‹€.
    • ν…Œμ΄λΈ” 쑰인 방식 및 μˆœμ„œ μ§€μ • λ“±μ˜ λ‹€λ₯Έ μ˜΅ν‹°λ§ˆμ΄μ € 힌트 ꡬ문을 ν†΅ν•œ SQL νŠœλ‹ 및 μ΅œμ ν™”λ₯Ό μ§„ν–‰ν•œλ‹€λ©΄, 쑰금 더 λΉ λ₯΄κ³  κ°€μš©μ„±μ΄ 높은 PMSλ₯Ό μ§€μ†μ μœΌλ‘œ μš΄μ˜ν•  수 μžˆμ„ κ²ƒμž…λ‹ˆλ‹€.

13. πŸ“Έ PMS μ‹œμ—° λͺ¨μŠ΅

Note

μ‹œμ—° μ˜μƒμ€ 우츑의 링크λ₯Ό μ°Έκ³  λΆ€νƒλ“œλ¦½λ‹ˆλ‹€. PMS μ‹œμ—° μ˜μƒ 링크

About

πŸŽ“ [μΊ‘μŠ€ν†€ λ””μžμΈ] λŒ€ν•™μƒμ„ μœ„ν•œ μ›Ή 기반의 PMS - λ°μ΄ν„°λ² μ΄μŠ€(DB) πŸ—ƒοΈ

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%