ํ๊ตญ์ด ยท English
๋ด๊ฐ ์ฌ๋ฆฐ ์ต์ ์บ๋ฆญํฐ๊ฐ ๋ด๊ฐ ๊ณต๋ถํ ๋๋ง ๊นจ์ด๋๋ macOS ๋ฉ๋ด๋ฐ ํฌ๋ชจ๋๋ก ํ์ด๋จธ
Pomopet์ ์ข์ํ๋ ์บ๋ฆญํฐ ์ด๋ฏธ์ง๋ฅผ ํฝ์ ๋ก ๋ณํํด ํค์ฐ๋ ๋ฉ๋ด๋ฐ ์ฑ์ ๋๋ค. ํฌ๋ชจ๋๋ก๋ก ์ง์คํ ๋๋ง๋ค ์บ๋ฆญํฐ๊ฐ ๊นจ์ด๋๊ณ , ์ฐ์ ๊ธฐ๋ก์ด ์์ ๋๋ค. ํ๋ฃจ๋ฅผ ๊ฑฐ๋ฅด๋ฉด ์บ๋ฆญํฐ๊ฐ ์ฟ๋น์ผ๋ก ์ ๋ค๊ธฐ ๋๋ฌธ์ โ "๋ด ์บ๋ฆญํฐ๋ฅผ ์ฌ์ฐ์ง ๋ง์" ๊ฐ ๊ณต๋ถ ๋๊ธฐ๊ฐ ๋ฉ๋๋ค.
ํซ ํค์ฐ๋ ํฌ๋ชจ๋๋ก ์ฑ์ ๋ง์ต๋๋ค. Pomopet์ ์ธ ๊ฐ์ง๊ฐ ๋ค๋ฆ ๋๋ค.
- ๐ผ๏ธ ๋ด๊ฐ ์ฌ๋ฆฐ ์ด๋ฏธ์ง๊ฐ ํซ์ด ๋ฉ๋๋ค โ ๋นํธ์ธ ๊ณ ์์ดยท๊ฐ์์ง ์ค ๊ณ ๋ฅด๋ ๊ฒ ์๋๋ผ, ์ข์ํ๋ ์บ๋ฆญํฐ๋ฅผ ์ง์ ์ ๋ก๋ํด ๋ํธ๋ก ํค์๋๋ค. "์ต์ ๋ฅผ ๋ด ๋ฉ๋ด๋ฐ์์ ํค์ด๋ค"๋ ๊ฒฝํ์ ์ฌ๊ธฐ๋ง ์์ต๋๋ค.
- ๐ด ์ ํ๋ฉด ์ ๋ญ๋๋ค โ ๋จ์ํ "์ง์คํ ๋ ํ์ฑ / ์ด ๋ ์ ๋ฆ"์ด ์๋๋ผ, ์ค๋ ํ ๋ฒ๋ ์ง์คํ์ง ์์ผ๋ฉด ์บ๋ฆญํฐ๊ฐ ํ๋ฐฑ์ผ๋ก ์ ๋ญ๋๋ค. ๋์ค๋ง๊ณ ์คํธ๋ฆญ์ฒ๋ผ ์งํค๊ณ ์ถ์ ๊ฒ์ ์์ง ์์ผ๋ ค๋ ๋๊ธฐ๋ก ์ค๊ณํ์ต๋๋ค.
- ๐ ๋ฌด๋ฃ ยท ์คํ์์ค โ ๊ฒฐ์ ยท๊ณ์ ยท๊ตฌ๋ ์์. ์ฝ๋ ์ ๋ถ ๊ณต๊ฐ.
๊ฑฐ๊ธฐ์ ์ฐ์์ผ ๋ง์ผ์คํค ๋ฐฐ์ง(BRONZEโDIAMOND)์ ํ๋ ์๋๊น์ง
| ์บ๋ฆญํฐ (๊นจ์ด๋จ) | ์น๊ตฌ | ํต๊ณ ยท ์๋ | ์ค์ |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
์คํํ๋ฉด ๋งฅ ์๋จ ๋ฉ๋ด๋ฐ์ ์ด๋ ๊ฒ ๋ ์์ต๋๋ค.
| ์ค๋ ์ง์คํจ (๊นจ์ด๋จ ยท ์ฐ์์ผ) | ์ง์คยทํด์ ์ค (๋จ์ ์๊ฐ) |
|---|---|
์ฌ๋ฆฐ ์บ๋ฆญํฐ๊ฐ ๊ทธ๋๋ก ๋ฉ๋ด๋ฐ์ ๋น๋๋ค. ์ค๋ ํ ๋ฒ๋ ์ง์ค ์ ํ๋ฉด ํ๋ฐฑ์ผ๋ก ์ ๋ค์ด ์๋ค๊ฐ, ์ง์คํ๋ฉด ์ปฌ๋ฌ๋ก ๊นจ์ด๋๊ณ ์์ ์ฐ์์ผ์ด ๋ถ์ต๋๋ค. ์ง์คยทํด์ ์ค์ ๋จ์ ์๊ฐ์ด ํ์๋ผ์.
- ๐ผ๏ธ ๋ด ์บ๋ฆญํฐ ์ ๋ก๋ โ ์ข์ํ๋ ์ด๋ฏธ์ง๋ฅผ ์ฌ๋ฆฌ๋ฉด ๋ํธ๋ก ๋ณํํด ํซ์ผ๋ก ์ฌ์ฉ
- ๐ ์ฌ๋ฆฌ๊ธฐ ์ ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ โ ๋ํธ์ ๋ฉ๋ด๋ฐ ํฌ๊ธฐ๋ก ์ด๋ป๊ฒ ๋ณด์ด๋์ง ๋จผ์ ํ์ธ. ๋ฐฐ๊ฒฝ์ด ์๋ ์ฌ์ง์ ๋ฐฐ๊ฒฝ์ ์๋์ผ๋ก ์ง์ธ ์ ์์ด์
- ๐ฅ ์ฐ์ ๊ธฐ๋ก(์คํธ๋ฆญ) โ ๋งค์ผ ์ง์คํ๋ฉด ์ฐ์์ผ์ด ์์ด๊ณ , ํ๋ฃจ ๊ฑธ๋ฅด๋ฉด ๋ฆฌ์
- ๐ด ๊นจ์ด๋จ/์ ๋ฆ โ ์ค๋ ์ง์คํ๋ฉด ์บ๋ฆญํฐ๊ฐ ์ปฌ๋ฌ๋ก ๊นจ์ด๋ ํตํต ํ / ์ ํ๋ฉด ํ๋ฐฑ์ผ๋ก ์ ๋ฆ
- ๐ ๋ง์ผ์คํค ์์ฐ๋ผ โ ์ฐ์ 3์ผ BRONZE โ 7์ผ SILVER โ 30์ผ GOLD โ 100์ผ DIAMOND ํ ๋๋ฆฌ
- ๐ฑ ํ๋ ํํธ๋งต โ ์ ๋ฌ๋ ฅ์ผ๋ก ๊ณต๋ถ ๊ธฐ๋ก์ ํ๋์ (์ ์ด๋ ยท ๋ ์ง hover๋ก ๊ทธ๋ ์์ธ)
- ๐ ๋จ์ํ ํฌ๋ชจ๋๋ก โ ์ง์ค / ํด์ ๋ ๊ฐ์ง๋ง ์ ํ๋ฉด ๋. ๋ชฉํ๋ฅผ ์ธ์ธ ํ์๊ฐ ์์ต๋๋ค
- ๐ชถ ๊ฐ๋ฒผ์ โ Dock ์์ด์ฝ ์์ด ๋ฉ๋ด๋ฐ์๋ง ์กด์ฌ. ๋ชจ๋ ๊ทธ๋ํฝ์ ์ธ๋ถ ์ด๋ฏธ์ง ์์ด ์ฝ๋๋ก ๋ ๋๋ง
- ๐ ์๋ ์ ๋ฐ์ดํธ โ ์ ๋ฒ์ ์ ์ฑ ์์์ ์๋ ์ค์น (Sparkle, ์์ธํ๋ ์ ๋ฐ์ดํธ)
- ๐ฅ ์น๊ตฌ์ ๊ฐ์ด ํค์ฐ๊ธฐ โ 6์๋ฆฌ ์ฝ๋๋ก ์ฐ๊ฒฐํด ์น๊ตฌ ํซ์ด ๊นจ์ด ์๋์ง ํ์ธํ๊ณ , ์ ๋ค์ด ์์ผ๋ฉด ์ฟก ์ฐ๋ฅด๊ธฐ (๊ธฐ๋ณธ ๊บผ์ง ยท ๋ฌด์์ด ์ค๊ฐ๋)
โถ๏ธ ์์ ์ฑ ๊ฐ์ง โ ์ ํด๋ ์ฑ(Xcode, VS Code ๋ฑ)์ ์ผ๋ฉด 3์ด ๋ค ์ง์ค์ด ์๋์ผ๋ก ์์ (๊ฑฐ์ ํ ์๊ฐ์ ์ค๋๋ค). ๊ทธ ์ฑ์์ ๊ณ์ ์์ ์ค์ผ ๋๋ ์์์ฑ๋๋ค- โ ์๋ฆฌ ๋น์ ๊ฐ์ง โ ์ง์ค ์ค 5๋ถ ๋๊ฒ ์ ๋ ฅ์ด ์์ผ๋ฉด ์ค์งํ ์ง ๋ฌผ์ด๋ด ๊ธฐ๋ก์ด ๋ถํ์ง ์๊ฒ
- ๐ ํ๊ตญ์ด ยท English โ ์์คํ ์ธ์ด๋ฅผ ๋ฐ๋ฅด๊ฑฐ๋, ์ค์ ์์ ๋ฒํผ์ผ๋ก ์ง์ ์ ํ
์๊ตฌ ์ฌํญ: macOS 14 (Sonoma) ์ด์ ยท Apple Silicon + Intel ๋ชจ๋ ์ง์(์ ๋๋ฒ์ค)
brew install --cask kes02/pomopet/pomopetcask๊ฐ Gatekeeper ๊ฒฉ๋ฆฌ ์์ฑ์ ์๋์ผ๋ก ์ ๊ฑฐํด ๋ฐ๋ก ์คํ๋ฉ๋๋ค.
- Releases์์ ์ต์
Pomopet-x.y.z.dmg๋ค์ด๋ก๋ - dmg๋ฅผ ์ด๊ณ Pomopet.app์ Applications๋ก ๋๋๊ทธ
- ์ฒ์ ์คํ ์ โ ๋ฏธ์๋ช
๋น๋๋ผ macOS๊ฐ "์
์ฑ ์ฝ๋๊ฐ ์์์ ํ์ธํ ์ ์์ต๋๋ค" ๋ผ๋ฉฐ ๋ง์ต๋๋ค. macOS Sequoia(15)๋ถํฐ๋ "์ฐํด๋ฆญ โ ์ด๊ธฐ" ์ฐํ๊ฐ ์ฌ๋ผ์ก์ด์. ๋ ์ค ํ๋๋ก ํต๊ณผ:
- ํฐ๋ฏธ๋ (๊ฐ์ฅ ๋น ๋ฆ):
xattr -dr com.apple.quarantine /Applications/Pomopet.app
- ๋๋ ์์คํ ์ค์ โ ๊ฐ์ธ์ ๋ณด ๋ณดํธ ๋ฐ ๋ณด์ โ ์๋๋ก ์คํฌ๋กค โ "Pomopet์ด(๊ฐ) ์ฐจ๋จ๋จ" ์ "๊ทธ๋๋ ์ด๊ธฐ" โ ๋ค์ ์คํ ํ ํ ๋ฒ ๋ ํ์ธ
- ํฐ๋ฏธ๋ (๊ฐ์ฅ ๋น ๋ฆ):
๐ก ์ฐจ๋จ ๋ค์ด์ผ๋ก๊ทธ์์ "ํด์งํต์ผ๋ก ์ด๋"์ ๋๋ฅด์ง ๋ง์ธ์(์ฑ์ด ์ญ์ ๋ฉ๋๋ค) โ "์๋ฃ"๋ฅผ ๋๋ฅด๊ณ ์ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ธ์. Apple ์๋ช /๊ณต์ฆ์ด ์์ด ์๊ธฐ๋ ์ผ์ด๋ฉฐ ๊ธฐ๋ฅ์ ์ง์ฅ์ด ์๊ณ , ์ต์ด 1ํ๋ง ํ์ํฉ๋๋ค. (์ Homebrew๋ก ์ค์นํ๋ฉด ์ด ๊ณผ์ ์์ฒด๊ฐ ํ์ ์์ด์.)
git clone https://github.com/kes02/Pomopet.git
cd Pomopet
open Pomopet.xcodeproj # Xcode์์ โR
# ๋๋ DMG ์ง์ ํจํค์ง:
bash scripts/package-dmg.sh 1.0.0 # โ dist/Pomopet-1.0.0.dmg# main ๋ธ๋์น์์๋ง ๋์ํฉ๋๋ค (DMG๋ ํ์ฌ ์์
ํธ๋ฆฌ์์ ๋น๋๋๋ฏ๋ก ํ๊ทธ ๋์๊ณผ ์ผ์นํด์ผ ํจ)
scripts/release.sh 1.2.3
# DMG ๋น๋ โ GitHub Release โ Sparkle appcast EdDSA ์๋ช
โ Homebrew cask(sha256) ๊ฐฑ์ ๋ฆด๋ฆฌ์ค ๋ ธํธ๋
CHANGELOG.md์ ํด๋น ๋ฒ์ ์น์ ์ ๊ทธ๋๋ก ์ฝ์ด ์๋๋ค. ๋ฆด๋ฆฌ์ค ์ ์ ๋จผ์ ์์ฑํ์ธ์. DMG๋ ์ฌ์์ฑ ์ ํด์๊ฐ ๋ฐ๋๋ฏ๋ก ๋ฆด๋ฆฌ์ค ๋น๋๋ ์ด ์คํฌ๋ฆฝํธ ํ๋๋ก ์ผ์ํํฉ๋๋ค. GitHub Actions(ci.yml)๋ ๋น๋๊ฐ ๊นจ์ง์ง ์๋์ง ํ์ธํ๋ ์ฒดํฌ ์ ์ฉ์ ๋๋ค.
์ฑ์ด ์ ๋ฒ์ ์ ์๋์ผ๋ก ์ ๋ฐ์ดํธํฉ๋๋ค (Sparkle ๊ธฐ๋ฐ โ ๋ค์ด๋ก๋ยท์ค์นยท์ฌ์์๊น์ง ํ ๋ฒ์).
- ์ธ์ฑ ์๋ ์ ๋ฐ์ดํธ โ ์ ๋ฒ์ ์ด ๋์ค๋ฉด Pomopet์ด ์๋ ค์ฃผ๊ณ , ๋์ํ๋ฉด ์ฑ ์์์ ๋ฐ๋ก ์ค์นยท์ฌ์์ํฉ๋๋ค. ์ค์ ํ๋ฉด์ ์ ๋ฐ์ดํธ ํ์ธ์ผ๋ก ์๋ ํ์ธ๋ ๊ฐ๋ฅ.
- Homebrew ์ฌ์ฉ์ โ
brew upgrade --cask pomopet๋ก๋ ๋ฐ์ ์ ์์ต๋๋ค.
์ ๋ฐ์ดํธ๋ EdDSA ์๋ช ์ผ๋ก ๊ฒ์ฆ๋๋ฉฐ(๋ฏธ์๋ช ๋น๋์ฌ๋ ์ยท๋ณ์กฐ ๋ฐฉ์ง), ๋ฒ์ ์ ๋ณด๋ง ์กฐํํฉ๋๋ค(๊ฐ์ธ์ ๋ณด ์ ์ก ์์).
- ๋ฉ๋ด๋ฐ ์์ด์ฝ ํด๋ฆญ โ ํค์ธ ์บ๋ฆญํฐ ์ด๋ฏธ์ง ์ ํ
- ์๋ฌด ์ฌ์ง์ด๋ ์ฌ๋ ค๋ ๋ฉ๋๋ค. ๊ณ ๋ฅด๋ฉด ๋ํธ์ ๋ฉ๋ด๋ฐ ํฌ๊ธฐ๋ก ๋ฏธ๋ฆฌ ๋ณด์ฌ์ฃผ๊ณ , ๋ฐฐ๊ฒฝ์ด ์๋ ์ฌ์ง์ ๋ฐฐ๊ฒฝ์ ์ง์ธ์ง ๋ฌผ์ด๋ด ๋๋ค.
- ํฌ๋ช ๋ฐฐ๊ฒฝ PNG(๋๋ผ)๋ผ๋ฉด ์๋ ๊ฒ ์์ด ๊ฐ์ฅ ๋๋ ทํฉ๋๋ค.
- ์ง์ค ์์ โ ๊ทธ ์๊ฐ๋ถํฐ ์บ๋ฆญํฐ๊ฐ ๊นจ์ด๋ฉ๋๋ค
- ์ค๋ ์ง์คํ ๊ธฐ๋ก์ด ๋จ์ผ๋ฉด ์ฐ์์ผ์ด ์ด์ด์ง๋๋ค ๐ฅ (์ค๋จํด๋ 5๋ถ ์ด์ ํ์ผ๋ฉด ์๊ฐ์ ๋จ์ต๋๋ค)
- ๋งค์ผ ์ด์ด๊ฐ๋ฉด ์ฐ์ ๊ธฐ๋ก๊ณผ ์๋๊ฐ ์์ ๋๋ค
| ๋ฒํผ | ๊ธฐ๋ฅ |
|---|---|
| ๐พ | ์บ๋ฆญํฐ ํ๋ฉด(ํ)์ผ๋ก |
| ๐ | ํต๊ณ ยท ์ฐ์ ๊ธฐ๋ก ยท ํ๋ ์๋ |
| ๐ฅ | ์น๊ตฌ โ ์น๊ตฌ ํซยท์งํ ์ํฉ, ์ฟก ์ฐ๋ฅด๊ธฐ |
| โ๏ธ | ์ค์ |
- ํ์ด๋จธ โ ์ง์ค 5
60๋ถ ยท ํด์ 130๋ถ - ์บ๋ฆญํฐ โ ์ด๋ฏธ์ง๋ฅผ ๋ฐ๊ฟ๋ ์ฐ์ ๊ธฐ๋ก๊ณผ ์ง์ค ์๊ฐ์ ๊ทธ๋๋ก ์ ์ง
- ์์ ์์ํ๋ฉด ์๋์ผ๋ก โ ์ ํด๋ ์ฑ์ ์ผ๋ฉด 3์ด ๋ค ์ง์ค์ด ์์๋ฉ๋๋ค (๊ธฐ๋ณธ ๊บผ์ง)
- ์ธ์ด โ ํ๊ตญ์ด / English ๋ฒํผ์ผ๋ก ์ฆ์ ์ ํ
์น๊ตฌ ๊ด๋ จ ์ค์ (๋ด ์ด๋ฆยท์ฝ๋ยท์ ์ ๋ฉ์ถ๊ธฐยท์ฐ๋ ๋๊ธฐ)์ ์น๊ตฌ ํญ ์์ ์์ต๋๋ค.
์ง์ค ์ค 5๋ถ ๋๊ฒ ์๋ฌด ์ ๋ ฅ์ด ์์ผ๋ฉด ์ค์งํ ์ง ๋ฌผ์ด๋ด ๋๋ค. ์๋ฆฌ๋ฅผ ๋น์ด ์๊ฐ์ด ์ง์ค ๊ธฐ๋ก์ ์์ด์ง ์๊ฒ์.
์น๊ตฌ ์ฐ๋์ ๊ธฐ๋ณธ์ผ๋ก ๊บผ์ ธ ์์ต๋๋ค. ์ผ๊ธฐ ์ ์๋ ์๋ฒ๋ก ์๋ฌด๊ฒ๋ ๋ณด๋ด์ง ์์ต๋๋ค.
์ผ๋ฉด ์ต๋ช ๊ณ์ ์ด ํ๋ ๋ง๋ค์ด์ง๊ณ 6์๋ฆฌ ์ฝ๋๋ฅผ ๋ฐ์ต๋๋ค. ์ด๋ฉ์ผ๋ ๋น๋ฐ๋ฒํธ๋ ์์ ๋ก๊ทธ์ธ๋ ์์ต๋๋ค.
์ฌ๋ผ๊ฐ๋ ๊ฒ
| ํญ๋ชฉ | ์ |
|---|---|
| ์ด๋ฆ | ํ์์ฉ, ์ง์ ์ ๋ ฅ |
| ์ค๋ ์ง์ค ์๊ฐ ยท ์๋ฃํ ์ธ์ ์ | 75๋ถ, 3 |
| ํซ์ด ๊นจ์ด๋ฌ๋์ง ยท ์ฐ์์ผ | true, 12 |
| ์ง๊ธ ์ง์ค ์ค์ธ์ง | focusing |
| ํซ ๊ทธ๋ฆผ | 26ร26 PNG, ๋ฐ๋ ๋๋ง |
์ฌ๋ผ๊ฐ์ง ์๋ ๊ฒ
- ๋ช ์์ ๋ฌด์์ ํ๋์ง ๊ฐ์ ์๊ฐ๋ณ ๊ธฐ๋ก
- ์ด๋ค ์ฑ์ ์ผฐ๋์ง โ ์์ ์ฑ ๊ฐ์ง๋ ์ ๋ถ ๋งฅ ์์์๋ง ๋์๊ฐ๋๋ค
- ์น๊ตฌ ๊ทธ๋ฃน โ ์ด ๋งฅ์๋ง ์ ์ฅ๋ฉ๋๋ค
- ์๋ณธ IP โ ๊ฐ์ ๋๋ฐฐ๋ฅผ ๋ง๋ ๋ฐ๋ง ์ฐ๊ณ ํด์๋ก ๋ฐ๊ฟ ํ๋ฃจ ๋ค ์ง์๋๋ค
์๋ฒ๋ server/์ ํจ๊ป ๊ณต๊ฐ๋ผ ์๊ณ , ๋ชป ๋ฏฟ๊ฒ ์ผ๋ฉด ์ง์ ๋์์ ์ฑ ์ค์ ์ ๊ทธ ์ฃผ์๋ฅผ ๋ฃ์ผ๋ฉด ๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ server/README.md๋ฅผ ๋ณด์ธ์.
์ฑ์ด ์๋ฒ์์ ๋ฐ๋ ๊ฑด ์ซ์์ PNG ํ ์ฅ๋ฟ์ ๋๋ค. ์ฝ๋๋ฅผ ๋ฐ์ ์คํํ๋ ๊ฒฝ๋ก๊ฐ ์์ด์, ์๋ฒ๊ฐ ์์ ํ ์ฅ์ ๋นํด๋ ์ฌ์ฉ์ ๋งฅ์์ ๋ญ๊ฐ๋ฅผ ์คํ์ํฌ ์๋ ์์ต๋๋ค.
- SwiftUI ยท
MenuBarExtra(๋ฉ๋ด๋ฐ ์ ์ฉ ์ฑ, Dock ์์ด์ฝ ์์) - SwiftData โ ์ผ์ผ ๊ธฐ๋กยทํต๊ณ ์๊ตฌ ์ ์ฅ
- Canvas โ ์ธ๋ถ ์ด๋ฏธ์ง ์์ด ๋ํธ ๋ ๋๋ง (
ImagePixelizer๊ฐ ์ ๋ก๋ ์ด๋ฏธ์ง๋ฅผ ์ ๊ฒฉ์๋ก ๋ณํ) - Sparkle โ ์ธ์ฑ ์๋ ์ ๋ฐ์ดํธ (EdDSA ์๋ช ๊ฒ์ฆ)
- NSWorkspace โ ์์ ์ฑ ๊ฐ์ง (๊ถํ ๋ถํ์)
- Vision โ ์ ๋ก๋ ์ฌ์ง์ ๋ฐฐ๊ฒฝ ์ ๊ฑฐ. macOS ์ ๋ค์ด ์์ด ์ฑ ์ฉ๋์ด ๋์ง ์๊ณ ๊ธฐ๊ธฐ ์์์๋ง ์ฒ๋ฆฌ๋ฉ๋๋ค
- Cloudflare Workers + D1 โ ์น๊ตฌ ์ฐ๋ ์๋ฒ (
server/, ์ ํ ๊ธฐ๋ฅ)
Pomopet/Sources/
โโ App/ ์ฑ ์ง์
์ (PomopetApp, ๋ฉ๋ด๋ฐ ๋ผ๋ฒจ)
โโ Core/ ํ์ด๋จธยท์คํธ๋ฆญ (PomopetController), ์ค์ (TimerSettings),
โ ์ ์ฅ์ ๊ฒฝ๋ก (StoreLocation), ์ธ์ด ์ ํ (Localization),
โ ์๋ ์
๋ฐ์ดํธ (UpdaterManager)
โ โโ Friends/ ์น๊ตฌ ์ฐ๋ โ ํต์ ยท์ ์ยทํซ ์บ์ยท๊ทธ๋ฃน (๊ธฐ๋ณธ ๊บผ์ง)
โ โโ AutoStart/ ์์
์ฑ ๊ฐ์ง (WorkAppWatcher), ์๋ฆฌ ๋น์ ๊ฐ์ง (IdleWatcher)
โโ Models/ SwiftData ๋ชจ๋ธ (DailyRecord, AppStats)
โโ Creatures/ ๋ํธ ๋ ๋๋ง (CustomPet, CharacterView, PetMenuBarIcon),
โ ๋ฐฐ๊ฒฝ ์ ๊ฑฐ (BackgroundRemover)
โโ Views/ ํ๋ฉด (Popover, Stats/Settings, Friends, ์
๋ก๋ ๋ฏธ๋ฆฌ๋ณด๊ธฐ, ์ ์ ์นด๋)
server/ ์น๊ตฌ ์ฐ๋ ์๋ฒ (Cloudflare Workers + D1)
์ ๋ก๋ ๊ธฐ๋ฅ์ ์ฌ์ฉ์๊ฐ ์ง์ ๊ณ ๋ฅธ ๋ก์ปฌ ์ด๋ฏธ์ง๋ฅผ ๋ณํํ๋ ๊ฐ์ธ์ฉ ๊ธฐ๋ฅ์ ๋๋ค. ํ์ธ์ ์ ์๋ฌผ(์บ๋ฆญํฐ ๋ฑ)์ ๋ฃ์ด ์ฐ๋ ๊ฒฝ์ฐ, ๊ฐ์ธ ์ฌ์ฉ ๋ฒ์๋ฅผ ์ง์ผ ์ฃผ์ธ์. ์ด ์ฑ์ ์ด๋ค ์บ๋ฆญํฐ ์ด๋ฏธ์ง๋ ํฌํจยท๋ฐฐํฌํ์ง ์์ต๋๋ค.
MIT License ยฉ 2026 kes02
์ฑ ์ฝ๋์ ํํด ์ ์ฉ๋ฉ๋๋ค. ์ฌ์ฉ์๊ฐ ์ ๋ก๋ํ๋ ์บ๋ฆญํฐ ์ด๋ฏธ์ง๋ ๊ฐ ์ ์๊ถ์์๊ฒ ๊ถ๋ฆฌ๊ฐ ์์ผ๋ฉฐ, ๋ณธ ๋ผ์ด์ ์ค ๋ฒ์์ ํฌํจ๋์ง ์์ต๋๋ค.



