Categorygithub.com/in-jun/github-profile-comments
repositorypackage
0.0.0-20241102112107-9e27bc34a0f2
Repository: https://github.com/in-jun/github-profile-comments.git
Documentation: pkg.go.dev

# README

πŸ’¬ GitHub Profile Comments

Go Report Card

🌟 GitHub ν”„λ‘œν•„μ— λŒ“κΈ€ κΈ°λŠ₯을 μΆ”κ°€ν•˜λŠ” ν˜μ‹ μ μΈ 도ꡬ


πŸ“‹ λͺ©μ°¨


πŸ“– μ†Œκ°œ

GitHub Profile CommentsλŠ” GitHub ν”„λ‘œν•„μ— 동적인 μ†Œν†΅ κΈ°λŠ₯을 μΆ”κ°€ν•˜λŠ” λ„κ΅¬μž…λ‹ˆλ‹€.

μž‘λ™ 방식

sequenceDiagram
    participant User as μ‚¬μš©μž
    participant GitHub as GitHub OAuth
    participant Service as λŒ“κΈ€ μ„œλΉ„μŠ€
    participant DB as λ°μ΄ν„°λ² μ΄μŠ€

    User->>GitHub: OAuth 둜그인
    GitHub->>Service: μ‚¬μš©μž 정보
    Service->>DB: μ‚¬μš©μž μ €μž₯
    Service->>User: 둜그인 성곡
    User->>Service: λŒ“κΈ€ μž‘μ„±
    Service->>DB: λŒ“κΈ€ μ €μž₯

✨ κΈ°λŠ₯

핡심 κΈ°λŠ₯

  • πŸ’¬ μ‹€μ‹œκ°„ λŒ“κΈ€
  • πŸ‘ μ’‹μ•„μš”/μ‹«μ–΄μš”
  • 🎨 μ»€μŠ€ν…€ ν…Œλ§ˆ
  • πŸ”’ GitHub OAuth 인증

μ‚¬μš©μž κΈ°λŠ₯

κΈ°λŠ₯μ„€λͺ…κΆŒν•œ
λŒ“κΈ€ μž‘μ„±ν”„λ‘œν•„μ— λŒ“κΈ€ λ‚¨κΈ°κΈ°λ‘œκ·ΈμΈ ν•„μš”
μ’‹μ•„μš”λŒ“κΈ€μ— μ’‹μ•„μš” ν‘œμ‹œλ‘œκ·ΈμΈ ν•„μš”

πŸš€ μ‹œμž‘ν•˜κΈ°

1. νšŒμ›κ°€μž…

# 1. 인증 νŽ˜μ΄μ§€ λ°©λ¬Έ
https://comment.injunweb.com/api/auth/login

# 2. GitHub OAuth 둜그인 μ§„ν–‰

# 3. 성곡 응닡 확인
{"github_id":123456789,"message":"Logged in successfully"}

2. ν”„λ‘œν•„ μ„€μ •

# README.md에 μΆ”κ°€

[![Comments](https://comment.injunweb.com/api/user/{κΉƒν—ˆλΈŒμ•„μ΄λ””}/svg?theme={ν…Œλ§ˆ})](https://comment.injunweb.com/{κΉƒν—ˆλΈŒμ•„μ΄λ””})

μ„€μΉ˜ 확인

  • ν”„λ‘œν•„ νŽ˜μ΄μ§€ μƒˆλ‘œκ³ μΉ¨
  • λŒ“κΈ€ μœ„μ ― ν‘œμ‹œ 확인
  • ν…Œλ§ˆ 적용 확인

🎨 ν…Œλ§ˆ

μ‚¬μš© κ°€λŠ₯ν•œ ν…Œλ§ˆ

ν…Œλ§ˆμ„€λͺ…μ˜ˆμ‹œ
black닀크 λͺ¨λ“œExample
white라이트 λͺ¨λ“œExample
transparent투λͺ… λ°°κ²½Example

πŸ› οΈ 기술 μŠ€νƒ

ν”„λ‘ νŠΈμ—”λ“œ

UI:
    - HTML5
    - CSS3
    - JavaScript (ES6+)

κΈ°λŠ₯:
    - λ°˜μ‘ν˜• λ””μžμΈ
    - SVG λ Œλ”λ§

λ°±μ—”λ“œ

μ„œλ²„:
    - Go
    - Gin Framework
    - GORM ORM

λ°μ΄ν„°λ² μ΄μŠ€:
    - MySQL

인증:
    - GitHub OAuth
    - JWT

배포

인프라:
    - Docker
    - injunweb (https://injunweb.com)

πŸ“ μ•„ν‚€ν…μ²˜

λ°μ΄ν„°λ² μ΄μŠ€ ꡬ쑰

erDiagram
    GITHUBUSER {
        uint ID PK
        float64 GitHubID
        string GitHubLogin
    }
    COMMENT {
        uint ID PK
        uint ReceiverID FK
        uint AuthorID FK
        string Content
        bool IsOwnerLiked
    }
    LIKED {
        uint ID PK
        uint CommentID FK
        uint UserID FK
    }
    DISLIKED {
        uint ID PK
        uint CommentID FK
        uint UserID FK
    }
    GITHUBUSER ||--o{ COMMENT : "writes/receives"
    GITHUBUSER ||--o{ LIKED : "likes"
    GITHUBUSER ||--o{ DISLIKED : "dislikes"
    COMMENT ||--o{ LIKED : "has"
    COMMENT ||--o{ DISLIKED : "has"