CHUGGU-ME v2.0.0
November 24, 2023 ยท View on GitHub
Pure Kotlin + brew & npm
๐ Proejct Introduction
- brew ํน์ npm ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ์ ํ๊ฒฝ์์ EPL ์ ๋ณด๋ฅผ ํ์ธ ํ ์ ์๋ ์คํ์์ค ํ๋ก์ ํธ ์ ๋๋ค.
- An open source project that users can check variety EPL information by using brew or npm command.
- brewใใใใฏnpmๅฝไปค่ชใๅ ฅๅใใ ใณใณใฝใผใซ็ฐๅขใงEPLใฎๆ ๅ ฑใ็ขบ่ชใงใใใชใผใใณใฝใผในใใญใธใงใฏใใ
โฒ๏ธ Development Period
- Nov.4th.2023 ~ Nov.25th.2023
โ๏ธ Development Environment
- Spring Boot : 2.7.14
implementation*("org.jetbrains.kotlinx:kotlinx-cli:0.3.6")implementation*("org.apache.commons:commons-lang3:3.13.0")implementation*("com.microsoft.playwright:playwright:1.28.1")implementation*("com.google.code.gson:gson:2.10.1")implementation*("org.jetbrains.kotlinx:kotlinx-serialization-cbor:1.3.0")
- Gradle : 7.6.1
- Test tool : JUnit5(ํ์ฌ ์ ์ฉ๋์ด ์์ง ์์)
- Kotlin : 1.9.10
- JAVA : corretto 11 ver.
- VCS : Git / GitHub
- Deployment tool: brew / npm&shipjs
- IDEA : IntelliJ
- Cooperation tool : JIRA & SLACK & Gather
๐ ์ฐ๋ฆฌ๋ค์ PR๊ท์น Our rule for PR ใใผใ PR่ฆๅ
Git Flow
Git Flow ํ๊ณ
Git-Flow๋ ๋ฑ์ฅํ๊ณ 10๋ ๋๊ฒ ํ์ค์ฒ๋ผ ์๋ฆฌ์ก๊ณ , ๋ ๋์๊ฐ ๋ง์น ๋ง๋ณํต์น์ฝ์ฒ๋ผ ์ฌ์ฉ๋์๋ค. ํ์ฌ๋ย Git์ผ๋ก ๊ด๋ฆฌ๋๋ ์ธ๊ธฐ์๋ ์ ํ์ ์ํํธ์จ์ด๊ฐ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ผ๋ก ์ด๋ํ๊ณ ์๋ค.ย ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ์ผ๋ฐ์ ์ผ๋ก ๋กค๋ฐฑ๋์ง ์๊ณ , ์ง์์ ์ผ๋ก ์ ๊ณต(Continuous Delivery)๋๋ฏ๋กย ์ฌ๋ฌ ๋ฒ์ ์ ์ํํธ์จ์ด๋ฅผ ์ง์ํ ํ์๊ฐ ์๋ค. ๊ทธ๋ฌ๋ ๋ช ์์ ์ผ๋ก ๋ฒ์ ์ ๊ด๋ฆฌํด์ผํ๋ ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ๋ค๋ฉด, ์ฌ์ ํ Git Flow๊ฐ ์ ํฉํ ์ ์๋ค.
์ด๋ฌํ ์ด์ ๊ฐ ์์ง๋ง, Git Flow์ ํ๋ฆ ๋ฐ ์ ์ฒด์ ์ธ ๊ตฌ์กฐ๋ฅผ ํ์
ํ๋๋ฐ ์ข์ ๋ ํผ๋ฐ์ค๊ฐ ๋๋ฉฐ, ๋๋ถ๋ถ์ ๊ธฐ์
๊ณผ ์ฐ๋ฆฌ๋ Git Flow๊ฐ ์ต์ํ๊ธฐ ๋๋ฌธ์ GitHub Flow ๋ณด๋ค๋ Git Flow ๋ฅผ ์ฌ์ฉํ๊ณ ์์ด์.
Git Flow ้็
Git-Flowใฏ็ปๅ ดใใฆใใ๏ผ๏ผๅนดไปฅไธๆจๆบใจใใฆ่ฝใก็ใใใพใใซไธ่ฝ่ฌใฎใใใชๆใใงไบบใ ใซไฝฟใใใฆใใใไปใฏใ**Gitใง็ฎก็ใใใไบบๆฐๆใกใฎๆๅฝขใฎใฝใใใฆใฃใขใใฆใงใใขใใชใฑใผใทใงใณใธ็งปๅใใฆใใใใฆใงใใขใใชใฑใผใทใงใณใฏไธ่ฌ็ใซใฏใญใซใใใฏใงใใใๆ็ถ็ใซๆไพใใใใใ่ฒใ ใชใใผใธใงใณใฎใฝใใใฆใงใขใๆฏๆดใใๅฟ ่ฆใใชใ ใใใใใๅๅบ็ใซใใผใธใงใณใ็ฎก็ใในใใฎใฝใใใฆใงใขใ้็บใใใชใใ็ธๅคใใใGit Flowใ้ฉใใๅฏ่ฝๆงใใใใ
ใใฎใใใช็็ฑใใใใใGit Flowใฎๆตใๅใณๅ
จไฝ็ใชไป็ตใฟใๆๆกใใใใใฎ่ฏใใฌใใกใฌใณในใซใชใใๅคงๅคๆฐใฎไผๆฅญใจ็งใใกใฏGit Flowใซๆ
ฃใใฆใใใGitHub FlowใใใฏGit Flowใไฝฟใฃใฆใพใใ
๊ทธ๋ผ ์ด๋ป๊ฒ ์ฌ์ฉํ๊ณ ์๋์?
๊ฐ ๊ฐ๋ฐ ๋ฉ์ธ ๋ธ๋์น๋ Dev, Prod๋ฅผ ๋ฉ์ธ์ผ๋ก ๋๊ณ ์์ด์. ์ด ๋๊ฐ์ ๋ธ๋์น์์ Feature ๋ธ๋์น๊ฐ ์์ฑ๋์. ๊ฐ Feature ๋ธ๋์น๋ ๊ธฐ๋ฅ ๊ธฐ์ค์ผ๋ก ๋ง๋ค์ด์ง๋๋ค.
Ex) ์ฌ์ฉ์ ๋ฑ๋ก ๊ธฐ๋ฅ์ ๋ง๋ค๋ฉด feature/tony ์์ผ๋ก ๋ง๋ค๊ฒ ๋์ฃ .
- ๊ทธ๋ฆฌ๊ณ ๊ฐ feature ๋ธ๋์น๋ฅผ ์์ฑํ๊ณ ๊ธฐ๋ฅ ๊ฐ๋ฐ์ด ๋๋๋ฉด PR( Pull Request)๋ฅผ ์์ฑํ์ฌ, ํ์๋ค์ ์ฝ๋๋ฆฌ๋ทฐ๋ฅผ ๋ฐ๊ฒ๋ฉ๋๋ค.
- feature ๋ธ๋์น์ ์ฝ๋๋ฆฌ๋ทฐ๊ฐ ๋๋๋ฉด Dev ๋ธ๋์น๋ก Merge๊ฐ ๋๊ณ , Dev ๋ธ๋์น๋ Prod๋ก Push๋ฅผ ํ๊ฒ ๋๋๊ฑฐ์ฃ .
ใงใฏใใฉใไฝฟใฃใฆใพใใ๏ผ
ๅ้็บใฎใกใคใณใใฉใณใใฏDevใ ProdใซๅบใฅใใฆใพใใใใฎไบใคใฎใใฉใณใใงFeatureใใฉใณใใไฝใใใพใใๅFeatureใใฉใณใใฏๆจๆฅใไธญๅฟใซใใฆไฝใใใพใใ
Ex) ไผๅก็ป้ฒๆฉ่ฝใไฝใใฎใชใfeature/tonyใใใใใๆนๅผใงไฝใใฐใใใงใใ
- ใใใฆใๅFeatureใใฉใณใใไฝใใๆฉ่ฝใฎ้็บใ็ตใใใฐPR(Pull Request)ใ่ฆ่ซใใใใผใ ใใใฎใณใผใใฌใใฅใผใๅใใฆใใใใพใใ
- featureใใฉใณใใฎใณใผใใฌใใฅใผใ็ตใใใฐDevใใฉใณใใซMergeใใใDevใใฉใณใใฏProdใธPushใใใใจใซใชใใพใใ
์ฐ๋ฆฌ๋ค์ ๊ท์น
[ GitHub ํ ํ๋ฆฟ์ผ๋ก Issue & Feature Request ๋ด์ฉ ๊ท๊ฒฉํ]
- ์ธ์ ๋ ์ง ์๊ธธ ์ ์๋ ๋ค์ํ ๋ฒ๊ทธ๋ค์ ๋ํด์ ์๋ก ์๊ธฐ ์ฝ๊ฒ ์์๋ณผ ์ ์๋๋ก ํ์ด์.
ๆใใฎ่ฆๅ
[ GitHub ใใณใใฌใผใใง Issue & Feature Requestๅ ๅฎน่ฆๆ ผๅ]
- ใใคใงใใงใใๅฏ่ฝๆงใฎใใ่ฒใ ใชใใฐใซๅฏพใใฆใๅใใๅใๆใใใใซใใพใใใ
## ๋ฒ๊ทธ ์ค๋ช
[๋ฒ๊ทธ์ ๋ํ ๋ช
ํํ๊ณ ๊ฐ๊ฒฐํ ์ค๋ช
]
## ์ฌํ ๋จ๊ณ
[๋ฒ๊ทธ๋ฅผ ์ฌํํ๊ธฐ ์ํ ๋จ๊ณ]
## ์์ ๋์
[์์ํ๋ ๋์๊ณผ ์ค์ ๋์์ ์ฐจ์ด]
##ใใใฐ่ชฌๆ
[ใใฐใซๅฏพใใฆๆ็ขบใง็ฐกๆฝใช่ชฌๆ]
##ใๅ็พๆฎต้
[ใใฐใๅ็พใใใใใฎๆฎต้]
## ไบๆณๅไฝ
[ไบๆณใใฆใใๅไฝใจใใฃใกๅฎ้ใฎๅไฝใฎ้ใ]
- ๊ฐ์์ ๊ธฐ๋ฅ ๋ธ๋์น์์ ์์ ํ์ง๋ง ํ์์ ๋ฐ๋ผ์ ์์ฒญ์ ๊ท๊ฒฉํ๋ ์ด์๋ฅผ ๋จ๊ธฐ๊ธฐ๋ก ํ์ด์.
- ๅใ ใฎๆฉ่ฝใใฉใณใใงไฝๆฅญใใใใฉใๅฟ ่ฆใชๅ ดๅ่ฆ่ซใ่ฆๆ ผๅใใใใคใทใฅใฃใๆฎใใใจใซใใพใใใ
## ๊ธฐ๋ฅ ์ ์
[์ ์ํ๋ ๊ธฐ๋ฅ์ ๋ํ ๋ช
ํํ๊ณ ๊ฐ๊ฒฐํ ์ค๋ช
]
## ์์ ๋์
[์๋ก์ด ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋๋ฉด ์ด๋ป๊ฒ ๋์ํด์ผ ํ๋์ง ์ค๋ช
]
## ์ถ๊ฐ ์ ๋ณด
[๊ธฐ๋ฅ ์ ์์ ๋ํ ์ถ๊ฐ์ ์ธ ์ ๋ณด๋ ์ปจํ
์คํธ]
## ๆฉ่ฝๆๆก
[ๆๆกใใๆฉ่ฝใซๅฏพใใฆๆ็ขบใง็ฐกๆฝใช่ชฌๆ]
## ไบๆณๅไฝ
[ๆฐใใๆฉ่ฝใ่ฟฝๅ ใใใใฐใฉใๅไฝใใใ่ชฌๆ]
## ่ฟฝๅ ๆ
ๅ ฑ
[ๆฉ่ฝๆๆกใซๅฏพใใ่ฟฝๅ ็ใชๆ
ๅ ฑใใณใณใใฏในใ]
[ GitHub ํ ํ๋ฆฟ์ผ๋ก PR๋ด์ฉ ๊ท๊ฒฉํ ]
- ์ฐ๋ฆฌ๋ ์ค๊ตฌ๋๋ฐฉ์ PR ๋ฉ์ธ์ง ๋ฐ ์์ฃผ ์ปค๋ค๋ ์ปค๋ฐ์ ํฌ๊ธฐ๋ฅผ ์ ํ๊ธฐ๋ก ํ์ด์.
PR ํ ํ๋ฆฟ
# ํด๊ฒฐํ๋ ค๋ ๋ฌธ์ ๊ฐ ๋ฌด์์ธ๊ฐ์?
*
# ์ด๋ป๊ฒ ํด๊ฒฐํ๋์?
*
## Attachment
[ GitHub ใใณใใฌใผใใงPRๅ ๅฎน่ฆๆ ผๅ ]
- ็งใใกใฏ่กๅฃใตใใ้ฃใใฎPRใกใใปใผใธๅใณใจใฆใๅคงใใใซใผใใใใฎใตใคใบใๅฎใใใใจใซใใพใใใ
PR ใใณใใฌใผใ
# ่งฃๆฑบใใใใจใใๅ้กใฏใชใใงใใ๏ผ
*
# ใฉใใใฃใฆ่งฃๆฑบใงใใพใใใ๏ผ
*
## Attachment
[ Commit Prefix์ ํน์ ๋จ์ด ์ฌ์ฉ ]
[ PR๋ ์ต๋ํ ์์ ๋จ์๋ก ์ชผ๊ฐ์ ์ฌ๋ฆฌ๊ธฐ ]
[ Merge๋ ์ ์ด๋ ํ๋์ Approve๊ฐ ์์ด์ผํด ]
๐Getting started in the local environment
How to run
- ๋ฐ๋์ ๊ธฐ๊ธฐ์ ์๋ฐ์ ์ฝํ๋ฆฐ์ด ์ค์น๋์ด ์๋์ง ํ์ธํด์ฃผ์ธ์.
- ์ด ๋ฆฌํ์งํ ๋ฆฌ๋ฅผ ๋ณต์ ํด ์ฃผ์ธ์:
git clone https://github.com/CHUGGU-ME/CHUGGU-ME-v2
Navigate to the project directory
cd ์ถ๊ฐ ํ์
Build the project
์ถ๊ฐ ํ์
Run the application
์ถ๊ฐ ํ์
๐ Feature offered
EPL command words
-
Command: $chuggume help
Function: ์ฌ์ฉ ๊ฐ๋ฅํ ๋ช ๋ น์ด์ ์ค๋ช ์ ํ์ธํ ์ ์์ต๋๋ค. -
Command: $chuggume article
Function: EPL ๋ด์ค ๋ฒํธ๋ฅผ ์ ๋ ฅ ํ์ฌ ํด๋น ๋ด์ค๋ฅผ ์์ฐฝ์ ๋์๋๋ค. -
Command: $chuggume news
Function: EPL ๋ด์ค ํ10์ ์ ๋ชฉ, URL์ ํ์ธ ํฉ๋๋ค. -
Command: $chuggume goal
Function: ascii-art๋ฅผ ์ฌ์ฉํ ๊ฐ๋จํ ์ ๋๋ฉ์ด์ ! -
Command: $chuggume update
Function: EPL ์ ์ ๋ชฉ๋ก, ๋ฆฌ๊ทธ ์ฑ์ ๋ฑ์ ์ ๋ณด๋ฅผ ์ต์ ์ผ๋ก ์ ๋ฐ์ดํธ ํฉ๋๋ค. -
Command: $chuggume schedule
Function: EPL ๊ฒฝ๊ธฐ ์ผ์ ์ ์กฐํ ํฉ๋๋ค. -
Command: $chuggume player
Function: EPL ์ ์ ์ด๋ฆ์ ์ ๋ ฅ ํ์ฌ ์ ์๋ณ ์์ธ ์ ๋ณด๋ฅผ ์กฐํํ ์ ์์ต๋๋ค. -
Command: $chuggume mom
Function: ์์ฆ, ๊ฒฝ๊ธฐ ๋ ์ง, ํด๋น ํ์ ์ต๊ณ ์ ์ ์๋ฅผ ์กฐํํ ์ ์์ต๋๋ค.