Skip to content

Repository files navigation

Gitty

Gitty logo

GittyλŠ” GitHub ν™œλ™μ— 따라 μƒνƒœμ™€ 감정이 λ³€ν•˜λŠ” 고양이λ₯Ό README에 ν‘œμ‹œν•˜λŠ” μ„œλΉ„μŠ€μž…λ‹ˆλ‹€.

GitHub μ‚¬μš©μžλŠ” Gittyλ₯Ό λŒλ³΄λŠ” μ§‘μ‚¬μž…λ‹ˆλ‹€. GittyλŠ” GitHub ν™œλ™μ„ λ¨Ήκ³  μžλžλ‹ˆλ‹€. 집사가 κΎΈμ€€νžˆ ν™œλ™ν•˜λ©΄ 점점 행볡해지고, ν™œλ™μ΄ 끊기면 기닀리고, μ§€μΉ˜κ³ , κ²°κ΅­ μž λ“€κ²Œ λ©λ‹ˆλ‹€.

GitHub Contribution Calendar
        ↓
Activity Consistency
        ↓
Cat State
        ↓
README Widget

νŠΉμ • commitμ΄λ‚˜ release 같은 κ°œλ³„ μ΄λ²€νŠΈλ³΄λ‹€ GitHub μž”λ””λ₯Ό μ–Όλ§ˆλ‚˜ κΎΈμ€€νžˆ 심고 μžˆλŠ”μ§€λ₯Ό μ€‘μ‹¬μœΌλ‘œ ν˜„μž¬ μƒνƒœλ₯Ό κ²°μ •ν•©λ‹ˆλ‹€.

Widget

λ‹€μŒμ€ μ‹€μ œ GitHub ν™œλ™μ„ λ°˜μ˜ν•œ Gitty μœ„μ ―μž…λ‹ˆλ‹€.

Gitty widget example

Gitty μœ„μ ― URL에 GitHub username을 전달해 README에 μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

![Gitty](https://gitty-widget.vercel.app/api/widget?username=YOUR_USERNAME)

μœ„μ ―μ€ Contribution Calendarλ₯Ό 뢄석해 κ²°μ •λœ ν˜„μž¬ μƒνƒœμ˜ Gitty 이미지와 λŒ€μ‚¬, 졜근 7일 ν™œλ™ 기둝, μƒνƒœ κ΄€λ ¨ 정보λ₯Ό ν•¨κ»˜ ν‘œμ‹œν•©λ‹ˆλ‹€.

Contribution Data

GittyλŠ” GitHub ν”„λ‘œν•„μ— ν‘œμ‹œλ˜λŠ” Contribution Calendarλ₯Ό κΈ°μ€€μœΌλ‘œ ν™œλ™μ„ λΆ„μ„ν•©λ‹ˆλ‹€.

λ‚ μ§œλ³„ contribution이 ν•˜λ‚˜ 이상이면 ν•΄λ‹Ή λ‚ μ§œλ₯Ό ν•˜λ‚˜μ˜ ν™œλ™μΌ(active day) 둜 κ³„μ‚°ν•©λ‹ˆλ‹€.

  • λΉ„κ³΅κ°œ contribution ν‘œμ‹œλ₯Ό 끈 μ‚¬μš©μžλŠ” 곡개 ν™œλ™λ§Œ λ°˜μ˜λ©λ‹ˆλ‹€.
  • λΉ„κ³΅κ°œ contribution ν‘œμ‹œλ₯Ό μΌ  μ‚¬μš©μžλŠ” 읡λͺ…ν™”λœ λΉ„κ³΅κ°œ ν™œλ™λ„ ν•¨κ»˜ λ°˜μ˜λ©λ‹ˆλ‹€.
  • λΉ„κ³΅κ°œ μ €μž₯μ†Œμ˜ μ΄λ¦„μ΄λ‚˜ ꡬ체적인 ν™œλ™ λ‚΄μš©μ€ μ‘°νšŒν•˜κ±°λ‚˜ λ…ΈμΆœν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

State Flow

Gitty의 κΈ°λ³Έ μƒνƒœλŠ” 였늘 ν™œλ™ 여뢀에 따라 Positive와 Hunger둜 λ‚˜λ‰©λ‹ˆλ‹€.

flowchart TB
  today{"였늘 ν™œλ™μ΄ μžˆλ‚˜μš”?"}

  subgraph positive["Positive"]
    direction TB
    normal --> coding --> happy --> cheering --> excited --> proud --> love
  end

  subgraph hunger["Hunger"]
    direction TB
    waiting --> nervous --> crying --> angry --> tired --> burned_out --> sleeping
  end

  today -->|있음| normal
  today -->|μ—†μŒ| waiting
Loading

PositiveλŠ” 졜근 ν™œλ™ λΉˆλ„μ™€ μž₯κΈ° 지속성을 ν•¨κ»˜ λ°˜μ˜ν•˜κ³ , HungerλŠ” λ§ˆμ§€λ§‰ ν™œλ™ 이후 κ²½κ³Όν•œ λ‚ μ§œλ₯Ό κΈ°μ€€μœΌλ‘œ κ²°μ •ν•©λ‹ˆλ‹€.

Special State의 쑰건을 λ§Œμ‘±ν•˜λ©΄ κΈ°λ³Έ Positive/Hunger μƒνƒœ λŒ€μ‹  Special Stateκ°€ ν‘œμ‹œλ©λ‹ˆλ‹€.

Cat States

Positive

였늘 ν™œλ™μ΄ μžˆμ„ λ•Œ 졜근 7일·30일의 ν™œλ™ λΉˆλ„μ™€ 90일·180일의 μž₯κΈ° ν™œλ™ 지속성을 ν•¨κ»˜ νŒλ‹¨ν•©λ‹ˆλ‹€.

μƒμœ„ λ‹¨κ³„μΌμˆ˜λ‘ ν˜„μž¬μ˜ ν™œλ™ 흐름뿐 μ•„λ‹ˆλΌ κ·Έ 흐름을 μ–Όλ§ˆλ‚˜ 였래 μœ μ§€ν–ˆλŠ”μ§€λ„ λ°˜μ˜ν•©λ‹ˆλ‹€. μ—¬λŸ¬ Positive 쑰건을 λ§Œμ‘±ν•˜λ©΄ κ°€μž₯ 높은 단계λ₯Ό μ„ νƒν•©λ‹ˆλ‹€.

State Gitty Condition
normal normal Gitty 였늘 ν™œλ™ Β· μƒμœ„ Positive 쑰건 λ―ΈμΆ©μ‘±
coding coding Gitty 졜근 7일 쀑 2일 이상 ν™œλ™
happy happy Gitty 3/7 이상 Β· 8/30 이상
cheering cheering Gitty 4/7 이상 Β· 12/30 이상
excited excited Gitty 5/7 이상 Β· 18/30 이상
proud proud Gitty 5/7 이상 Β· 18/30 이상 Β· 54/90 이상
love love Gitty 5/7 이상 Β· 18/30 이상 Β· 54/90 이상 Β· 108/180 이상

Hunger

였늘 ν™œλ™μ΄ μ—†λ‹€λ©΄ λ§ˆμ§€λ§‰ ν™œλ™ 이후 경과일에 따라 μƒνƒœκ°€ λ³€ν•©λ‹ˆλ‹€.

짧은 νœ΄μ‹μ€ κΈ°λ‹€λ¦¬λŠ” 단계에 λ¨Έλ¬Όμ§€λ§Œ, ν™œλ™μ΄ μž₯κΈ°κ°„ 멈좜수둝 Gitty의 μƒνƒœλ„ 점차 λ‚˜λΉ μ§‘λ‹ˆλ‹€.

State Gitty Last Activity
waiting waiting Gitty 1–2일 μ „
nervous nervous Gitty 3–4일 μ „
crying crying Gitty 5–6일 μ „
angry angry Gitty 7–9일 μ „
tired tired Gitty 10–13일 μ „
burned_out burned out Gitty 14–29일 μ „
sleeping sleeping Gitty 30일 이상

Special

νŠΉμ • ν™œλ™ λ³€ν™”κ°€ κ°μ§€λ˜λ©΄ κΈ°λ³Έ μƒνƒœ λŒ€μ‹  μΌμ‹œμ μΈ Special Stateκ°€ ν‘œμ‹œλ©λ‹ˆλ‹€. 전체 μƒνƒœμ˜ μš°μ„ μˆœμœ„λŠ” confused β†’ peeking β†’ celebrating β†’ κΈ°λ³Έ Positive/Hunger μˆœμ„œμž…λ‹ˆλ‹€.

State Gitty Condition
peeking peeking Gitty 30일 이상 ν™œλ™μ΄ μ—†λ‹€κ°€ 였늘 λ‹€μ‹œ ν™œλ™
celebrating celebrating Gitty 전일과 비ꡐ해 였늘 excited, proud, love λ‹¨κ³„λ‘œ μ§„μž…

celebrating은 ν•΄λ‹Ή 단계에 처음 λ„λ‹¬ν–ˆμ„ λ•ŒλΏ μ•„λ‹ˆλΌ, μƒνƒœκ°€ λ‚΄λ €κ°”λ‹€κ°€ λ‹€μ‹œ ν•΄λ‹Ή λ‹¨κ³„λ‘œ μ§„μž…ν•œ κ²½μš°μ—λ„ ν‘œμ‹œλ  수 μžˆμŠ΅λ‹ˆλ‹€.

System

GitHub 데이터λ₯Ό μ •μƒμ μœΌλ‘œ μ‘°νšŒν•˜κ±°λ‚˜ 뢄석할 수 μ—†λŠ” 경우 confused μƒνƒœλ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€.

State Gitty Condition
confused confused Gitty GitHub 데이터 쑰회 λ˜λŠ” 뢄석 μ‹€νŒ¨

Development

pnpm install
cp .env.example .env.local
pnpm dev

.env.local에 GITHUB_TOKEN을 μ„€μ •ν•©λ‹ˆλ‹€.

GITHUB_TOKEN은 Gittyλ₯Ό κ°œλ°œν•˜κ±°λ‚˜ self-hostingν•  λ•Œ 배포 μ„œλ²„μ—μ„œ GitHub GraphQL APIλ₯Ό ν˜ΈμΆœν•˜κΈ° μœ„ν•œ server-side tokenμž…λ‹ˆλ‹€. μœ„μ ― μ‚¬μš©μžλŠ” μžμ‹ μ˜ GitHub token을 μ œκ³΅ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

개발 μ„œλ²„λŠ” λ‹€μŒ μ£Όμ†Œμ—μ„œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

http://localhost:3000

둜컬 μœ„μ ―μ€ λ‹€μŒ μ£Όμ†Œμ—μ„œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

http://localhost:3000/api/widget?username=YOUR_USERNAME

Support Gitty

Gittyμ™€μ˜ λ§Œλ‚¨μ΄ 즐거웠닀면 Star둜 μ‘μ›ν•΄μ£Όμ„Έμš”! μ—¬λŸ¬λΆ„μ˜ 응원과 ν•¨κ»˜ Gitty도 계속 μžλΌκ°‘λ‹ˆλ‹€.

Made with πŸ’š by @ds92ko

About

😼 GitHub ν™œλ™μ„ λ¨Ήκ³  μžλΌλŠ” 고양이, Gitty

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages