HandStack 1.0.0.beta2 μΆœμ‹œ

μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ μžμ›μ„ κ³΅μœ ν•˜λŠ” νƒœλ„ŒνŠΈ μ•±

HandStack μ—μ„œ νƒœλ„ŒνŠΈ 앱을 개발 및 μš΄μ˜ν•˜κΈ° μœ„ν•΄ checkup λͺ¨λ“ˆμ„ κ°œλ°œμ€‘μž…λ‹ˆλ‹€. νƒœλ„ŒνŠΈ 앱은 κΈ°μ—…μ˜ λΉ„μ¦ˆλ‹ˆμŠ€ 앱을 κ΅¬μΆ•ν•˜κΈ° μœ„ν•΄ 고객과 κ°œλ°œμžκ°€ μ›ν•˜λŠ” 것을 μΆ©μ‘±μ‹œν‚¬ 수 μžˆλŠ” λ°©λ²•μž…λ‹ˆλ‹€.

μ™œλƒν•˜λ©΄ κΈ°μ—…μ—μ„œ μžμ‚¬ λΉ„μ¦ˆλ‹ˆμŠ€ 앱을 κ΅¬μΆ•ν•˜κΈ° μœ„ν•΄ 일반적으둜 λ‹€μŒκ³Ό 같은 과정을 μ§„ν–‰ν•©λ‹ˆλ‹€.

ν”„λ‘œμ νŠΈ κ³„νš 및 λͺ©ν‘œ μ„€μ • > νŒ€ ꡬ성 > μš”κ΅¬μ‚¬ν•­ 뢄석 및 섀계 > 개발 > ν…ŒμŠ€νŠΈ 및 배포 > 운영 및 μœ μ§€λ³΄μˆ˜

그외에도 λ³΄μ•ˆ 및 κ·œμ • μ€€μˆ˜λ‚˜ λΉ„μ¦ˆλ‹ˆμŠ€ 지원 λ“±μ˜ λ‹¨κ³„λŠ” 개발 단계 이후에도 κ³„μ†λ©λ‹ˆλ‹€. μ΄λŸ¬ν•œ 과정을 거쳐 μ›Ή μ„œλΉ„μŠ€λ₯Ό κ°œλ°œν•˜κ³  μš΄μ˜ν•˜λŠ” 것은 λ‹€μ–‘ν•œ 기술과 지식이 ν•„μš”ν•©λ‹ˆλ‹€.

λ‹€ν–‰νžˆλ„, ν΄λΌμš°λ“œ μ»΄ν“¨νŒ…κ³Ό μ†Œν”„νŠΈμ›¨μ–΄ 개발 기술의 λ°œμ „μœΌλ‘œ, μ΄λŸ¬ν•œ 과정을 보닀 μ‰½κ²Œ 진행할 수 μžˆλŠ” 방법이 많이 κ°œλ°œλ˜μ—ˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜, μ—¬μ „νžˆ κ°œλ°œμžμ™€ 고객 λͺ¨λ‘μ—κ²Œ λ‹€μŒκ³Ό 같은 핡심 λ¬Έμ œκ°€ μ‘΄μž¬ν•©λ‹ˆλ‹€.

  • ν˜„μ‹€μ μΈ 문제 == λΉ„μš©
  • 고객이 μ›ν•˜λŠ” 것은 무엇인가?
  • κ°œλ°œμžκ°€ μ›ν•˜λŠ” 것은 무엇인가?

νƒœλ„ŒνŠΈ μ•±μœΌλ‘œ λŒ€μ•ˆμ„ μ°Ύμ•˜μŠ΅λ‹ˆλ‹€

ν΄λΌμš°λ“œ μ»΄ν“¨νŒ… 및 μ†Œν”„νŠΈμ›¨μ–΄ κ°œλ°œμ—μ„œ 주둜 μ‚¬μš©λ˜λŠ” "νƒœλ„ŒνŠΈ"λΌλŠ” μš©μ–΄κ°€ μžˆμŠ΅λ‹ˆλ‹€.

"ν…Œλ„ŒνŠΈ(Tenant)"λŠ” 일반적으둜 독립적인 μ‚¬μš©μž κ·Έλ£Ή λ˜λŠ” 쑰직을 λ‚˜νƒ€λƒ…λ‹ˆλ‹€. ν”„λ‘œκ·Έλž¨ κ΄€μ μ—μ„œλŠ” λ™μΌν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜, ν•˜λ“œμ›¨μ–΄, λ˜λŠ” λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό κ³΅μœ ν•˜μ§€λ§Œ, κ³ μœ ν•œ 업무 κΈ°λŠ₯κ³Ό λ°μ΄ν„°λŠ” μ„œλ‘œ κ²©λ¦¬λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, ν΄λΌμš°λ“œ 기반 μ„œλΉ„μŠ€μ—μ„œλŠ” μ—¬λŸ¬ ν…Œλ„ŒνŠΈκ°€ λ™μΌν•œ μ„œλΉ„μŠ€λ₯Ό μ‚¬μš©ν•  수 μžˆμ§€λ§Œ, 각 ν…Œλ„ŒνŠΈμ˜ λ°μ΄ν„°λŠ” μ„œλ‘œ λ…λ¦½μ μž…λ‹ˆλ‹€. μ΄λŠ” 각 ν…Œλ„ŒνŠΈκ°€ μžμ‹ μ˜ 데이터λ₯Ό μ•ˆμ „ν•˜κ²Œ λ³΄ν˜Έν•˜λ©΄μ„œλ„, λ™μΌν•œ λ¦¬μ†ŒμŠ€λ₯Ό κ³΅μœ ν•¨μœΌλ‘œμ¨ 관리 λΉ„μš© νš¨μœ¨μ„±κ³Ό μœ μ—°μ„±μ„ 높일 수 있게 ν•©λ‹ˆλ‹€.

νƒœλ„ŒνŠΈλΌλŠ” μš©μ–΄λŠ” 인증, λ°μ΄ν„°λ² μ΄μŠ€, λ³΄μ•ˆ, μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€, λΉ„μ¦ˆλ‹ˆμŠ€ 둜직, μ‚¬μš©μž 지원 λ“±κ³Ό 같은 μ—¬λŸ¬ μΈ‘λ©΄μ—μ„œ 적용될 수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ λ©΄μ—μ„œ νƒœλ„ŒνŠΈλŠ” 독립적인 μ‚¬μš©μž κ·Έλ£Ή λ˜λŠ” 쑰직을 λ‚˜νƒ€λ‚΄λŠ” κ²ƒμœΌλ‘œ 이해할 수 μžˆμŠ΅λ‹ˆλ‹€.

μ΄λŸ¬ν•œ νƒœλ„ŒνŠΈ κ°œλ…μ„ 기반으둜, λ³„λ„μ˜ 가상화 κΈ°μˆ μ„ μ‚¬μš©ν•˜μ§€ μ•Šκ³ λ„ μ—¬λŸ¬ μ‚¬μš©μž 그룹이 λ™μΌν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ³΅μœ ν•˜λ©΄μ„œ, 각 μ‚¬μš©μž 그룹의 κ³ μœ ν•œ 업무 κΈ°λŠ₯κ³Ό 데이터λ₯Ό κ²©λ¦¬ν•˜μ—¬ μ‚¬μš©ν•  수 μžˆλŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ "νƒœλ„ŒνŠΈ μ•±(Tenant App)"이라고 λΆ€λ¦…λ‹ˆλ‹€.

λΉ„μš©μ„ μ ˆκ°ν•˜κ³  νš¨μœ¨μ„±μ„ λ†’μ΄λŠ” 방법

νƒœλ„ŒνŠΈ 앱은 λ‹€μŒκ³Ό 같은 λ””λ ‰ν† λ¦¬λ‘œ μ†ŒμŠ€λ₯Ό κ΄€λ¦¬ν•©λ‹ˆλ‹€.

tenent-app
β”œβ”€.managed
β”‚  β”œβ”€sqlite
β”‚  └─storage
β”œβ”€dbclient
β”‚  └─PJT
β”œβ”€function
β”‚  β”œβ”€csharp
β”‚  └─javascript
β”œβ”€transact
β”‚  └─PJT
└─wwwroot
    β”œβ”€assets
    └─view
        └─PJT

μ΄λ²ˆμ— λ°°ν¬ν•œ handstack 1.0.0.beta2 μ—λŠ” νƒœλ„ŒνŠΈ 앱을 κ°œλ°œν•˜κΈ° μœ„ν•œ 기초 μ½”λ“œμ™€ 화면을 μΆ”κ°€ν•˜μ˜€μŠ΅λ‹ˆλ‹€. μ‹€ν–‰ 방법과 μ΄λ²ˆμ— 개발된 μ£Όμš” 정보듀은 차주에 λ¬Έμ„œλ‘œ μ •λ¦¬ν•˜μ—¬ 곡개 ν•˜κ² μŠ΅λ‹ˆλ‹€.

슀크린 μƒ·

κ·Έλ¦Ό) μ‚¬μš©μž 둜그인 및 ν”„λ‘œμ νŠΈ 선택 ν™”λ©΄

κ·Έλ¦Ό) ν”„λ‘œμ νŠΈ 정보 관리 ν™”λ©΄

κ·Έλ¦Ό) ν”„λ‘œμ νŠΈ μ†ŒμŠ€ 관리 ν™”λ©΄

κ·Έλ¦Ό) ν”„λ‘œμ νŠΈ 미리보기 ν™”λ©΄

ν•œ μ£Όκ°„μ˜ μ—¬μ • (2024-02-26 ~ 2024-03-01)

  • handstack 1.0.0.beta2 μΆœμ‹œ
  • dbclient νƒœλ„ŒνŠΈ 쿼리 μš”μ²­ 처리 κΈ°λŠ₯ κ°œμ„ 
  • νƒœλ„ŒνŠΈ μ•±μš© κΈ°μ΄ˆμ½”λ“œ, μ½”λ“œλ„μ›€ ν™”λ©΄ 개발
  • 파일 μΆ”κ°€μ‹œ μ½”λ“œλ„μ›€ 데이터 정보 쑰회 κ°œμ„ 
  • $grid checkEmptyValueCol ν•¨μˆ˜ 버그 μˆ˜μ •
  • repository MediatR Event μš”μ²­ 처리 κΈ°λŠ₯ 개발
  • repository νƒœλ„ŒνŠΈ μ•± 파일 μ €μž₯ κΈ°λŠ₯ κ°œμ„ 
  • transact MediatR Event μš”μ²­ 처리 κΈ°λŠ₯ 개발
  • transact BearerToken 정보 무결성 확인 κ°œμ„ 
  • 데이터 λͺ¨λΈ 관리 ν™”λ©΄ 버그 μˆ˜μ •
  • board, empty, helloworld, uicontrols forbes μΆ”κ°€ 및 κ°œμ„ 
  • νƒœλ„ŒνŠΈ μ•± μΆ”κ°€μ‹œ 메타 데이터 볡사 κΈ°λŠ₯ κ°œμ„ 
  • νƒœλ„ŒνŠΈ μ•± 인증 κΈ°λŠ₯ κ°œμ„ 
  • wwwroot λͺ¨λ“ˆμ— ID, GUID, ClientIP, SHA256Hash 쑰회 api μΆ”κ°€
  • transact λͺ¨λ“ˆ Route ν™˜κ²½ λ³€μˆ˜ λ‘œλ“œ κΈ°λŠ₯ κ°œμ„ 
  • meta.xml 생성 API μΆ”κ°€
  • handstack CLI κΈ°λ³Έκ°’ 적용 κΈ°λŠ₯ κ°œμ„ 
  • νƒœλ„ŒνŠΈ μ•± κΈ°λ³Έ ν…Œμ΄λΈ” 생성 μΆ”κ°€
  • checkup λͺ¨λ“ˆ 둜그인 κΈ°λŠ₯ 개발
  • HandStack publish κΈ°λŠ₯ κ°œμ„ 
  • νƒœλ„ŒνŠΈ 앱별 거래 둜그 관리 κΈ°λŠ₯ κ°œμ„ 
  • νƒœλ„ŒνŠΈ μ•± μ‚­μ œ κΈ°λŠ₯ μΆ”κ°€
  • μ„œλ²„ ν•¨μˆ˜ 처리 쀑 HttpContext μ ‘κ·Ό 버그 μˆ˜μ •
  • νƒœλ„ŒνŠΈ μ•± μΆ”κ°€μ‹œ 메타 정보 볡사 κΈ°λŠ₯ κ°œμ„ 
  • checkup λͺ¨λ“ˆ 개발
  • checkup 업무 λ°μ΄ν„°λ² μ΄μŠ€ ERD μ΄ˆμ•ˆ 섀계
  • μš΄μ˜μ²΄μ œμ— 따라 배치 슀크립트 파일 경둜 μΉ˜ν™˜ κ°œμ„ 
  • ubuntu-22.04 μ„€μΉ˜ μ°Έμ‘° 슀크립트
  • handsup 운영 μ„œλ²„ ν…ŒμŠ€νŠΈ
  • handstack CLI ν”„λ‘œκ·Έλž¨ κ°œμ„ 
  • ν”„λ‘μ‹œ μ„œλ²„ Forwarded Headers κ°œμ„ 
  • apiService load κΈ°λŠ₯ κ°œμ„ 
  • μ„œλ²„ 배포 bundling CLI ν”„λ‘œκ·Έλž¨ view ν™”λ©΄ μ••μΆ• μžλ™ν™” 적용
  • handsup 운영 μ„œλ²„ ν…ŒμŠ€νŠΈ
3개의 μ’‹μ•„μš”