|
| 1 | +# FOSSistant π |
| 2 | + |
| 3 | +FOSSistantλ **μ€νμμ€ νλ‘μ νΈ κΈ°μ¬λ₯Ό λλ AI κΈ°λ° μ΄μμ€ν΄νΈ**μ
λλ€. |
| 4 | +GitHub μ΄μ λΆμ, ν΄κ²° λ°©μ μ μ, κΈ°μ¬ κ°μ΄λ μ 곡μ ν΅ν΄ μ€νμμ€ μνκ³ μ°Έμ¬λ₯Ό μ§μν©λλ€. |
| 5 | + |
| 6 | +## π μ£Όμ κΈ°λ₯ |
| 7 | + |
| 8 | +### π μ΄μ λΆμ & μμ½ |
| 9 | +- GitHub μ΄μμ μλ λΆμ λ° μμ½ |
| 10 | +- LLM κΈ°λ° μ΄μ λ΄μ© μ΄ν΄ λ° μ€μ ν¬μΈνΈ νμ΄λΌμ΄ν
|
| 11 | +- νλ‘μ νΈ μ»¨ν
μ€νΈλ₯Ό κ³ λ €ν λ§μΆ€ν ν΄κ²° λ°©μ μ μ |
| 12 | + |
| 13 | +### π κΈ°μ¬ κ°μ΄λ |
| 14 | +- νλ‘μ νΈλ³ Contributing κ°μ΄λ μ°κ²° |
| 15 | +- README.md, μ΄μ ν
νλ¦Ώ λ± κ΄λ ¨ λ¬Έμ λ§ν¬ μ 곡 |
| 16 | +- λλ ν 리 ꡬ쑰 λΆμμ ν΅ν μ½λ κΈ°μ¬ κ°μ΄λ |
| 17 | + |
| 18 | +### π μ¬μ©μ μΈμ¦ |
| 19 | +- GitHub OAuth 2.0 μ°λ |
| 20 | +- JWT κΈ°λ° ν ν° μΈμ¦ |
| 21 | +- μ¬μ©μλ³ λ§μΆ€ μλΉμ€ μ 곡 |
| 22 | + |
| 23 | +### π λͺ¨λν°λ§ |
| 24 | +- Spring Boot Actuator κΈ°λ° ν¬μ€μ²΄ν¬ |
| 25 | +- Redis μΊμ±μ ν΅ν μ±λ₯ μ΅μ ν |
| 26 | + |
| 27 | +## π κΈ°μ μ€ν |
| 28 | + |
| 29 | +### Backend |
| 30 | +- **Java 17** - μΈμ΄ |
| 31 | +- **Spring Boot 3.4.5** - νλ μμν¬ |
| 32 | +- **Spring Security** - 보μ |
| 33 | +- **Spring Data JPA** - λ°μ΄ν° μ κ·Ό |
| 34 | + |
| 35 | +### Database & Cache |
| 36 | +- **MySQL** - μ£Ό λ°μ΄ν°λ² μ΄μ€ (Azure MySQL) |
| 37 | +- **Redis** - μΊμ± & μΈμ
κ΄λ¦¬ |
| 38 | + |
| 39 | +### AI & External APIs |
| 40 | +- **Google Gemini API** - LLM κΈ°λ° μ΄μ λΆμ |
| 41 | +- **GitHub GrpahQLAPI** - μ μ₯μ λ° μ΄μ λ°μ΄ν° μ°λ |
| 42 | + |
| 43 | +### Infrastructure |
| 44 | +- **Docker** - 컨ν
μ΄λν |
| 45 | +- **Docker Compose** - λ‘컬 κ°λ° νκ²½ |
| 46 | + |
| 47 | +### Documentation |
| 48 | +- **SpringDoc OpenAPI** - API λ¬Έμ μλ μμ± |
| 49 | + |
| 50 | + |
| 51 | +## π νλ‘μ νΈ κ΅¬μ‘° |
| 52 | + |
| 53 | +``` |
| 54 | +src/main/java/Capstone/FOSSistant/ |
| 55 | +βββ FosSistantApplication.java # λ©μΈ μ ν리μΌμ΄μ
|
| 56 | +βββ global/ # μ μ μ€μ λ° κ³΅ν΅ κΈ°λ₯ |
| 57 | + βββ config/ # μ€νλ§ μ€μ |
| 58 | + βββ security/ # 보μ μ€μ |
| 59 | + βββ domain/ # μν°ν° λͺ¨λΈ |
| 60 | + βββ repository/ # λ°μ΄ν° μ κ·Ό κ³μΈ΅ |
| 61 | + βββ service/ # λΉμ¦λμ€ λ‘μ§ |
| 62 | + βββ web/ # μΉ κ³μΈ΅ (컨νΈλ‘€λ¬) |
| 63 | + βββ apiPayload/ # API μμ²/μλ΅ DTO |
| 64 | + βββ converter/ # λ°μ΄ν° λ³ν |
| 65 | + βββ Validator/ # μ
λ ₯κ° κ²μ¦ |
| 66 | + βββ aop/ # κ΄μ μ§ν₯ νλ‘κ·Έλλ° |
| 67 | +``` |
| 68 | + |
| 69 | +## π§ μ£Όμ μ€μ |
| 70 | + |
| 71 | +### JVM μ΅μ
|
| 72 | +```bash |
| 73 | +-Xmx512m -Xms256m # λ©λͺ¨λ¦¬ μ ν (Docker νκ²½) |
| 74 | +``` |
| 75 | + |
| 76 | +### Redis μ€μ |
| 77 | +```yaml |
| 78 | +# μ΅λ λ©λͺ¨λ¦¬: 256MB |
| 79 | +# μ μ±
: allkeys-lru (κ°μ₯ μ€λλ ν€ μμ ) |
| 80 | +``` |
| 81 | + |
| 82 | +### ν¬μ€μ²΄ν¬ |
| 83 | +- **μλν¬μΈνΈ**: `/actuator/health` |
| 84 | +- **κ°κ²©**: 30μ΄ |
| 85 | +- **νμμμ**: 10μ΄ |
| 86 | +- **μ¬μλ**: 3ν |
| 87 | + |
| 88 | +## π λΌμ΄μ μ€ |
| 89 | + |
| 90 | +μ΄ νλ‘μ νΈλ [λΌμ΄μ μ€ νμΌ](LICENSE)μ λͺ
μλ 쑰건μ λ°λΌ λ°°ν¬λ©λλ€. |
| 91 | + |
| 92 | +**FOSSistant**λ‘ μ€νμμ€ κΈ°μ¬λ₯Ό λ μ½κ³ μ¦κ²κ² λ§λ€μ΄λ³΄μΈμ! π |
0 commit comments