GitHunt
HE

Enterprise IT Service Management Platform built with Go/Gin and Next.js

๐Ÿค– AI-Driven ITSM

ไผไธš็บงITๆœๅŠก็ฎก็†ๅนณๅฐ

Go
Next.js
TypeScript
PostgreSQL
License
AI Powered

๐Ÿš€ ๅŸบไบŽ ITIL ๆœ€ไฝณๅฎž่ทต | AI ๆ™บ่ƒฝ้ฉฑๅŠจ | ๅผ€ๆบๅ…่ดน

๐ŸŒ ๅฎ˜็ฝ‘

English ยท ๅฟซ้€Ÿๅผ€ๅง‹ ยท ๅŠŸ่ƒฝ็‰นๆ€ง ยท AI ๆ™บ่ƒฝ ยท ่ดก็Œฎไปฃ็ 


โญ ้กน็›ฎ็ฎ€ไป‹

ไผไธš็บง IT ๆœๅŠก็ฎก็†ๅนณๅฐ็š„ๅ…จๆ–ฐๅฎšไน‰ - ่ฎฉ AI ๆˆไธบๆ‚จ็š„ๆ™บ่ƒฝ IT ๅŠฉๆ‰‹

ITSM ๆ˜ฏไธ€ไธช็ŽฐไปฃๅŒ–็š„ AI ้ฉฑๅŠจไผไธš็บง IT ๆœๅŠก็ฎก็†ๅนณๅฐ๏ผŒ้‡‡็”จ Go/Gin ๅŽ็ซฏ + Next.js/React ๅ‰็ซฏๆžถๆž„๏ผŒๆทฑๅบฆ้›†ๆˆ AI ่ƒฝๅŠ›๏ผŒๅŠฉๅŠ›ไผไธšๅฎž็Žฐ IT ๆœๅŠก็š„ๆ™บ่ƒฝๅŒ–่ฝฌๅž‹ใ€‚

ๆ ธๅฟƒไผ˜ๅŠฟ

๐Ÿค– AI ๆ™บ่ƒฝ โšก ่‡ชๅŠจๅŒ– ๐ŸŒ ๅคš็งŸๆˆท ๐Ÿ“ˆ ไผไธš็บง
ๆ™บ่ƒฝๅˆ†็ฑป ยท RAG ็Ÿฅ่ฏ†ๅบ“ ยท ่‡ชๅŠจๆ‘˜่ฆ BPMN ๅทฅไฝœๆต ยท ๆ™บ่ƒฝๅˆ†้… ยท ่‡ชๅŠจๅ‘Š่ญฆ MSP ๆจกๅผ ยท ็งŸๆˆท้š”็ฆป ยท ่ต„ๆบ้…้ข ้ซ˜ๅฏ็”จ ยท ๅฏๆ‰ฉๅฑ• ยท ๅฎ‰ๅ…จๅˆ่ง„

๐Ÿš€ ๅฟซ้€Ÿๅผ€ๅง‹

Docker ไธ€้”ฎๅฏๅŠจ๏ผˆๆŽจ่๏ผ‰

# ๅ…‹้š†้กน็›ฎ
git clone https://github.com/heidsoft/itsm.git
cd itsm

# ๅฏๅŠจๆ‰€ๆœ‰ๆœๅŠก
make dev-up

# ่ฎฟ้—ฎๅบ”็”จ
# ๐ŸŒ ๅ‰็ซฏ:    http://localhost:3000
# ๐Ÿ”ง ๅŽ็ซฏ:    http://localhost:8080
# ๐Ÿ“š APIๆ–‡ๆกฃ: http://localhost:8080/swagger

๐Ÿ‘ค ้ฆ–ๆฌก็™ปๅฝ•: ็”จๆˆทๅ admin๏ผŒๅฏ†็  admin123

ๆœฌๅœฐๅผ€ๅ‘

# ๅ‰็ฝฎ่ฆๆฑ‚: Go 1.25+ | Node.js 22+ | PostgreSQL 14+ | Redis 7+

# 1. ๅฏๅŠจๆ•ฐๆฎๅบ“
docker compose up -d postgres redis

# 2. ๅฏๅŠจๅŽ็ซฏ
cd itsm-backend
cp .env.example .env
go run main.go

# 3. ๅฏๅŠจๅ‰็ซฏ (ๆ–ฐ็ปˆ็ซฏ)
cd itsm-frontend
cp .env.example .env.local
npm run dev

โœจ ๆ ธๅฟƒๅŠŸ่ƒฝ

๐ŸŽซ ๆœๅŠก็ฎก็†

ๅทฅๅ•็ฎก็† ไบ‹ไปถ็ฎก็† ้—ฎ้ข˜็ฎก็† ๅ˜ๆ›ด็ฎก็†
ๆ™บ่ƒฝๅˆ†้…
SLA ไฟ้šœ
่‡ชๅŠจๅŒ–ๆต่ฝฌ
ๅฎžๆ—ถ็›‘ๆŽง
ๆ™บ่ƒฝๅ‘Š่ญฆ
ๅ‡็บง็ญ–็•ฅ
ๆ นๅ› ๅˆ†ๆž
RFC ๅ…ณ่”
็Ÿฅ่ฏ†ๆฒ‰ๆท€
้ฃŽ้™ฉ่ฏ„ไผฐ
ๅคš็บงๅฎกๆ‰น
ๅ›žๆปšๆ–นๆกˆ
ๅ‘ๅธƒ็ฎก็† ๆœๅŠก่ฏทๆฑ‚ ๆœๅŠก็›ฎๅฝ• ็Ÿฅ่ฏ†ๅบ“
ๅ‘ๅธƒ่ฎกๅˆ’
้˜ถๆฎตๆŽงๅˆถ
ๅ›žๆปšๆ”ฏๆŒ
่‡ชๅŠฉ้—จๆˆท
ๅฎกๆ‰นๆต็จ‹
่ฟ›ๅบฆ่ฟฝ่ธช
ๆœๅŠกOffering
SLA ๅฎšไน‰
่‡ชๅŠฉ็”ณ่ฏท
RAG ๆฃ€็ดข
ๆ™บ่ƒฝ้—ฎ็ญ”
็Ÿฅ่ฏ†ๆŽจ่

๐Ÿ”€ BPMN ๅทฅไฝœๆตๅผ•ๆ“Ž

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  ๐Ÿ—๏ธ ๅฏ่ง†ๅŒ–่ฎพ่ฎกๅ™จ    โ”‚  ๐Ÿ“Š ๆต็จ‹็›‘ๆŽง    โ”‚  ๐Ÿ”’ ๆƒ้™ๆŽงๅˆถ   โ”‚  ๐Ÿ“ ๅฎก่ฎกๆ—ฅๅฟ—  โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  ๆ‹–ๆ‹ฝๅผๆต็จ‹่ฎพ่ฎก    โ”‚  ๅฎžๆ—ถ่ฟฝ่ธช      โ”‚  ็ฒพ็ป†ๆƒ้™      โ”‚  ๅ…จ็จ‹่ฎฐๅฝ•     โ”‚
โ”‚  BPMN 2.0 ๆ ‡ๅ‡†    โ”‚  ๆ€ง่ƒฝๅˆ†ๆž      โ”‚  ่ง’่‰ฒ็ป‘ๅฎš      โ”‚  ๅˆ่ง„่ฟฝๆบฏ     โ”‚
โ”‚  ็‰ˆๆœฌ็ฎก็†         โ”‚  SLA ้›†ๆˆ      โ”‚  ๆ•ฐๆฎ้š”็ฆป      โ”‚  ๆŠฅ่กจๅฏผๅ‡บ     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿค– AI ๆ™บ่ƒฝๆ ธๅฟƒ

ๅŠŸ่ƒฝ ่ฏดๆ˜Ž ๆ•ˆๆžœ
๐ŸŽฏ ๆ™บ่ƒฝๅˆ†็ฑป ML ่‡ชๅŠจ่ฏ†ๅˆซๅทฅๅ•็ฑปๅž‹ใ€ไผ˜ๅ…ˆ็บง ๅˆ†็ฑปๅ‡†็กฎ็އ 95%+
๐Ÿ“ ่‡ชๅŠจๆ‘˜่ฆ LLM ็”Ÿๆˆๅทฅๅ•/ไบ‹ไปถๆ‘˜่ฆ ่Š‚็œ 70% ้˜…่ฏปๆ—ถ้—ด
๐Ÿ” RAG ็Ÿฅ่ฏ†ๅบ“ ๅ‘้‡ๆฃ€็ดข + ๅคงๆจกๅž‹้—ฎ็ญ” ็Ÿฅ่ฏ†ๆŸฅๆ‰พ็ง’็บงๅ“ๅบ”
๐Ÿ’ก ๆ™บ่ƒฝๆŽจ่ ๆŽจ่่งฃๅ†ณๆ–นๆกˆใ€็›ธไผผๅทฅๅ• ๆๅ‡่งฃๅ†ณๆ•ˆ็އ 50%+
๐Ÿ‘ท ๆ™บ่ƒฝๅˆ†้… ๅŸบไบŽๆŠ€่ƒฝ/่ดŸ่ฝฝ็š„่‡ชๅŠจๆดพๅ• ๆดพๅ•ๅ‡†็กฎ็އ 90%+
๐Ÿ“Š ่ถ‹ๅŠฟ้ข„ๆต‹ ๆ—ถๅบ้ข„ๆต‹ไบ‹ไปถ่ถ‹ๅŠฟ ๆๅ‰้ข„่ญฆๅฎน้‡้ฃŽ้™ฉ

๐ŸŒ MSP ๅคš็งŸๆˆท

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    ๐Ÿข MSP ๆœๅŠกๅ•†                         โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  ๐Ÿข ็งŸๆˆท A  โ”‚  ๐Ÿข ็งŸๆˆท B  โ”‚  ๐Ÿข ็งŸๆˆท C  โ”‚  ...         โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  ๐Ÿ“Š ่ต„ๆบ้…้ข    โ”‚  ๐Ÿ’ฐ ่ฎก่ดน็ฎก็†    โ”‚  ๐Ÿ” ็›‘ๆŽงๅ‘Š่ญฆ     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
  • ๆœๅŠกๅ•† (MSP) ่ง†่ง’็š„ๅ…จๅฑ€็ฎก็†
  • ็งŸๆˆท่ต„ๆบๅˆ†้…ไธŽ้…้ขๆŽงๅˆถ
  • ่ทจ็งŸๆˆทๆœๅŠก็›ฎๅฝ•
  • ็ปŸไธ€็›‘ๆŽงไธŽๆŠฅ่กจ

๐Ÿ“Š SLA ็›‘ๆŽงไฝ“็ณป

  • ๅคš็บงๅˆซ SLA ็ญ–็•ฅ้…็ฝฎ
  • ๅฎžๆ—ถๅˆ่ง„็އ็›‘ๆŽง้ขๆฟ
  • ่ฟ็บฆ้ข„่ญฆไธŽ่‡ชๅŠจๅ‡็บง
  • ๅฎŒๆ•ด็š„ SLA ๆŠฅ่กจๅˆ†ๆž

๐Ÿ— ๆŠ€ๆœฏๆžถๆž„

ๆŠ€ๆœฏๆ ˆ

ๅŽ็ซฏ | Go 1.25+ | Gin | Ent ORM | PostgreSQL | Redis | BPMN Engine

ๅ‰็ซฏ | Next.js 15 | React 19 | TypeScript | Ant Design 6 | Tailwind CSS | Zustand

็ณป็ปŸๆžถๆž„ๅ›พ

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                         ๐Ÿ–ฅ๏ธ ๅฎขๆˆท็ซฏๅฑ‚                              โ”‚
โ”‚     Web (Next.js)      โ”‚      ็งปๅŠจ็ซฏ PWA      โ”‚    API        โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
                              โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      ๐ŸŒ ๆŽฅๅ…ฅๅฑ‚ (Nginx)                          โ”‚
โ”‚              ่ดŸ่ฝฝๅ‡่กก / SSL ็ปˆๆญข / ้™ๆ€่ต„ๆบ็ผ“ๅญ˜                   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
              โ–ผ                               โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”       โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚    ๐ŸŒ Next.js ๅ‰็ซฏ      โ”‚       โ”‚     โš™๏ธ Go ๅŽ็ซฏ API      โ”‚
โ”‚       ็ซฏๅฃ: 3000        โ”‚       โ”‚       ็ซฏๅฃ: 8090         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
              โ”‚                               โ”‚
              โ”‚                               โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
              โ”‚                               โ–ผ              โ–ผ
              โ”‚                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
              โ”‚                    โ”‚ PostgreSQL  โ”‚  โ”‚  Redis  โ”‚
              โ”‚                    โ”‚   ็ซฏๅฃ:5432  โ”‚  โ”‚  6379   โ”‚
              โ”‚                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
              โ”‚                               โ”‚
              โ”‚                               โ–ผ
              โ”‚                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
              โ”‚                    โ”‚     ๐Ÿค– AI ๆœๅŠกๅฑ‚        โ”‚
              โ”‚                    โ”‚  RAG / ๅˆ†็ฑป / ๆ‘˜่ฆ     โ”‚
              โ”‚                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
              โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        ๐Ÿ’พ ๅญ˜ๅ‚จๅฑ‚                                 โ”‚
โ”‚    ๆ–‡ไปถๅญ˜ๅ‚จ (MinIO/S3)   โ”‚   ๅ‘้‡ๅญ˜ๅ‚จ (Chroma)   โ”‚   ๅฏน่ฑกๅญ˜ๅ‚จ   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆ•ฐๆฎๆจกๅž‹ (100+ ๅฎžไฝ“)

ๆ ธๅฟƒๆจกๅ—          ๆ‰ฉๅฑ•ๆจกๅ—           BPMN ๅทฅไฝœๆต         MSP ๅคš็งŸๆˆท
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€        โ”€โ”€โ”€โ”€โ”€โ”€โ”€           โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€         โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โ”œโ”€ ๅทฅๅ•           โ”œโ”€ ๆœๅŠก็›ฎๅฝ•        โ”œโ”€ ๆต็จ‹ๅฎšไน‰          โ”œโ”€ ็งŸๆˆท
โ”œโ”€ ไบ‹ไปถ           โ”œโ”€ ็Ÿฅ่ฏ†ๅบ“          โ”œโ”€ ๆต็จ‹ๅฎžไพ‹          โ”œโ”€ ้ƒจ้—จ
โ”œโ”€ ้—ฎ้ข˜           โ”œโ”€ SLA             โ”œโ”€ ๆต็จ‹ไปปๅŠก          โ”œโ”€ ๅ›ข้˜Ÿ
โ”œโ”€ ๅ˜ๆ›ด           โ”œโ”€ ๅฎกๆ‰น้“พ          โ”œโ”€ ๆต็จ‹ๅ˜้‡          โ”œโ”€ ้กน็›ฎ
โ”œโ”€ ๅ‘ๅธƒ           โ”œโ”€ ้€š็Ÿฅ             โ”œโ”€ ๅฎก่ฎกๆ—ฅๅฟ—          โ””โ”€ ่ต„ๆบๅˆ†้…
โ”œโ”€ ่ต„ไบง           โ””โ”€ ๆŠฅ่กจ            โ””โ”€ ๆƒ้™ๆŽงๅˆถ
โ””โ”€ ่ฎธๅฏ่ฏ

๐Ÿ“š ๆ–‡ๆกฃๅฏผ่ˆช

๐Ÿ“– ๅผ€ๅ‘ๆŒ‡ๅ— ๐Ÿš€ ้ƒจ็ฝฒๆŒ‡ๅ— โš™๏ธ ้…็ฝฎๅ‚่€ƒ
ๅผ€ๅ‘็Žฏๅขƒๆญๅปบ Docker/K8s ้ƒจ็ฝฒ ็Žฏๅขƒๅ˜้‡่ฏฆ่งฃ
๐Ÿ—„๏ธ ๆ•ฐๆฎๅบ“ ๐Ÿ”ง ่ฟ็ปดๆ‰‹ๅ†Œ ๐Ÿ” ๅฎ‰ๅ…จๆŒ‡ๅ—
่ฟ็งปไธŽๅค‡ไปฝ ๆ—ฅๅฟ—ไธŽ็›‘ๆŽง ๆƒ้™ไธŽๅฎก่ฎก
๐Ÿ› ๏ธ ่‡ชๅŠจๅŒ–ๆต‹่ฏ•
E2E ๆต‹่ฏ•

๐Ÿ› ๏ธ ๅธธ็”จๅ‘ฝไปค

# Docker ๅผ€ๅ‘็Žฏๅขƒ
make dev-up          # ๅฏๅŠจๆ‰€ๆœ‰ๆœๅŠก (ๅ‰็ซฏ:3000 | ๅŽ็ซฏ:8080)
make dev-down        # ๅœๆญขๆœๅŠก
make dev-logs        # ๆŸฅ็œ‹ๆ—ฅๅฟ—

# ๆต‹่ฏ•
cd itsm-frontend && npm run test:e2e   # E2E ๆต‹่ฏ•
cd itsm-backend && go test ./...        # ๅŽ็ซฏๆต‹่ฏ•

๐Ÿค ๅ‚ไธŽ่ดก็Œฎ

ๆฌข่ฟŽๆไบค Pull Request๏ผ่ฏท้˜…่ฏป CONTRIBUTING.md ไบ†่งฃ่ฏฆๆƒ…ใ€‚

# 1. Fork ้กน็›ฎ
# 2. ๅˆ›ๅปบๅˆ†ๆ”ฏ
git checkout -b feature/amazing-feature

# 3. ๆไบคๆ›ดๆ”น
git commit -m "feat: add amazing feature"

# 4. ๆŽจ้€ๅˆ†ๆ”ฏ
git push origin feature/amazing-feature

ไปฃ็ ่ง„่Œƒ

  • โœ… Go: ไฝฟ็”จ gofumpt ๆ ผๅผๅŒ–
  • โœ… TypeScript: ESLint + Prettier
  • โœ… ๆไบคไฟกๆฏ: Conventional Commits
  • โœ… ๆต‹่ฏ•: ๆ–ฐๅขžๅŠŸ่ƒฝ้œ€้…ๅฅ—ๆต‹่ฏ•

๐Ÿ“„ ่ฎธๅฏ่ฏ

Apache License 2.0 - ๅผ€ๆบๅ…่ดน๏ผŒไผไธš็บงๅ•†็”จ้ฆ–้€‰

ๅ•†ไธšๅŒ–ๆŽˆๆƒๅฃฐๆ˜Ž: ๅฆ‚้œ€ๅฐ†ๆœฌ้กน็›ฎ็”จไบŽๅ•†ไธšไบงๅ“๏ผŒ่ฏท่ฎฟ้—ฎ ๅฎ˜็ฝ‘ ่Žทๅ–ๅ•†ไธšๆŽˆๆƒใ€‚ๆœช็ปๆŽˆๆƒ็š„ๅ•†ไธšไฝฟ็”จๅฐ†่ง†ไธบไพตๆƒ่กŒไธบใ€‚


๐Ÿ“ž ่”็ณปๆˆ‘ไปฌ

๐Ÿ™ GitHub: heidsoft/itsm

๐Ÿ’ฌ ่ฎจ่ฎบ: Discussions

๐Ÿ› ้—ฎ้ข˜: Issues

๐Ÿ“ง Email: heidsoft@qq.com


โญ ๅฆ‚ๆžœ่ฟ™ไธช้กน็›ฎๅฏนๆ‚จๆœ‰ๅธฎๅŠฉ๏ผŒ่ฏท Star ๆ”ฏๆŒ๏ผ

Made with โค๏ธ by ITSM Team

heidsoft/itsm | GitHunt