mohaemukzip_BE_Repo
๋ฐ๋ณต๋๋ '๋ญํด ๋จน์ง'๋ฅผ ์ง๋ฐฅ ๋ฃจํด์ผ๋ก ๋ฐ๊พธ๋ค, ๋ญํด๋จน์ง?
๋ฐฐํฌ ์ฃผ์ : https://api.mohaemukzip.site/
| ํ์ 1 | ํ์ 2 | ํ์ 3 | ํ์ 4 |
|---|
| ์กฐ์์ | ๊ฐ์ ์ฑ | ๊น์๋น | ์ ๋ฏผ์ |
- ์ ์ฒด ๊ธฐ๊ฐ:
2025.12.20 - 2025.02.20 - ๊ฐ๋ฐ ๊ธฐ๊ฐ:
2025.12.20 - 2025.02.20
For building and running the application you need:
- Language: Java 17
- Framework: Spring Boot 3.4.x
- Database: MySQL 8.0, Redis
- Infrastructure: AWS (EC2, RDS, S3), Docker, Nginx
- BackEnd : Spring Boot
- ๋ฒ์ ๋ฐ ์ด์ ๊ด๋ฆฌ : Github, Github Issues
- ํ์ ํด : Discord, Notion
mohaemukzip_be
โโโ src/main/java/com/mohaemukzip/mohaemukzip_be
โ โโโ ๐ฆ domain // ๋น์ฆ๋์ค ํต์ฌ ๋๋ฉ์ธ (๊ธฐ๋ฅ๋ณ ์์ง)
โ โ โโโ chatbot // ๋ ์ํผ ์๋ด ์ฑ๋ด
โ โ โโโ home // ๋ฉ์ธ ํ๋ฉด ๋์๋ณด๋ ๋ฐ ์ง๊ณ
โ โ โโโ ingredient // ๋์ฅ๊ณ ์ฌ๋ฃ ๋ฐ ์ฆ๊ฒจ์ฐพ๊ธฐ ๊ด๋ฆฌ
โ โ โโโ member // ํ์ ์ ๋ณด ๋ฐ ํ๋ ๊ด๋ฆฌ
โ โ โโโ mission // ์ผ์ผ ๋ฏธ์
๋ฐ ๋์ ๊ณผ์ ์์คํ
โ โ โโโ recipe // ๋ ์ํผ ๋ฐ ์กฐ๋ฆฌ ๊ธฐ๋ก
โ โ โโโ search // ํตํฉ ๊ฒ์ ์์ง
โ โ
โ โโโ ๐ฆ global // ์ ์ญ ๊ณตํต ๋ชจ๋ (์ธํ๋ผ ๋ฐ ์ ํธ๋ฆฌํฐ)
โ โโโ config // AWS(S3), Redis, Security, Swagger ์ค์
โ โโโ entity // ๊ณตํต ์ํฐํฐ (BaseEntity ๋ฑ)
โ โโโ exception // ์ ์ญ ์์ธ ์ฒ๋ฆฌ (GlobalExceptionHandler)
โ โโโ jwt // JWT ๋ณด์ ์ธ์ฆ ๋ฐ ํ ํฐ ๋ธ๋๋ฆฌ์คํธ ๊ด๋ฆฌ
โ โโโ response // ๊ณตํต ์๋ต ํฌ๋งท (ApiResponse, ErrorStatus)
โ โโโ s3 // ํ์ผ ์
๋ก๋ ์๋น์ค ๋ฐ ์ปจํธ๋กค๋ฌ
โ โโโ security // CustomUserDetails ๋ฑ ๋ณด์ ์ธ์ฆ ๋ก์ง
โ โโโ service // LevelService, PythonExecutor ๋ฑ ๊ณตํต ์๋น์ค
โ โโโ util // ๊ณตํต ์ ํธ๋ฆฌํฐ (TimeFormatter ๋ฑ)
โ
โโโ ๐ resources
โ โโโ db.mygration // DB ๋ง์ด๊ทธ๋ ์ด์
๋ฐ ์ด๊ธฐํ ์คํฌ๋ฆฝํธ
โ โโโ ๐ application.yaml // ํ๋ก์ ํธ ๊ณตํต ์ค์ (ํฌํธ, JPA ๊ธฐ๋ณธ ์ค์ ๋ฑ)
โ โโโ ๐ application-dev.yaml // ๋ก์ปฌ/๊ฐ๋ฐ ํ๊ฒฝ ์ ์ฉ ์ค์ (๋ก์ปฌ DB)
โ โโโ ๐ application-dev.template.yaml// ๊ฐ๋ฐ ์ค์ ๊ณต์ ๋ฅผ ์ํ ํ
ํ๋ฆฟ ํ์ผ
โ โโโ ๐ application-prod.yaml // ์ด์ ํ๊ฒฝ ์ ์ฉ ์ค์ (AWS RDS, S3, ๋ฐฐํฌ์ฉ ํ๊ฒฝ๋ณ์)
โ
โโโ ๐ ๏ธ Root Files
โโโ ๐ compose.yaml // ๊ธฐ๋ณธ ๋์ปค ์ปดํฌ์ฆ ์ค์
โโโ ๐ compose.override.yaml // ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ ๋ฎ์ด์ฐ๊ธฐ ์ค์
โโโ ๐ compose.prod.yaml // ์ด์ ์๋ฒ ๋ฐฐํฌ์ฉ ์ต์ ํ ์ค์
โโโ build.gradle // ์์กด์ฑ ๋ฐ ๋น๋ ๊ด๋ฆฌ
โโโ requirements.txt // Python ์คํฌ๋ฆฝํธ ์คํ ํ๊ฒฝ ์ ๋ณด
- ํจํค์ง๋ช ์ lowercase๋ฅผ ์ฌ์ฉํ๋ค
- ํด๋์ค๋ช ์ PascalCase, ๋ณ์/๋ฉ์๋๋ช ์ camelCase๋ฅผ ์ฌ์ฉํ๋ค
- ์์๋ UPPER_SNAKE_CASE๋ฅผ ์ฌ์ฉํ๋ค
- ์ธํฐํ์ด์ค์ ๊ตฌํ์ฒด๋ ์ด๋ฆ ๋ค์ Impl์ ๋ถ์ธ๋ค
- API ์๋ต์ ๊ณตํต ํฌ๋งท์ธ ApiResponse๋ก ๊ฐ์ธ์ ๋ฐํํ๋ค
์ด์๋ฅผ ๋จผ์ ํ ํ ์ด์ ๋ฒํธ๋ก ๋ธ๋์น๋ฅผ ๋ง๋ ๋ค
- main - ์ ํ ์ถ์ ๋ธ๋์น (Production)
- dev - ํตํฉ ๊ฐ๋ฐ ๋ธ๋์น
- chore - build
- feat/#[์ด์๋ฒํธ]-[๊ธฐ๋ฅ๋ช ] - ์๋ก์ด ๊ธฐ๋ฅ ๊ฐ๋ฐ
- refactor/#[์ด์๋ฒํธ]-[๊ธฐ๋ฅ๋ช ] - ์ฝ๋ ๋ฆฌํฉํ ๋ง
- fix/#[์ด์๋ฒํธ]-[๋ฒ๊ทธ๋ช ] - ๋ฒ๊ทธ ์์
- docs/#[์ด์๋ฒํธ]-[์ค๋ช ] - ๋ฌธ์ ์์
- pr ์ ๋ชฉ์ ์ด์ ์ ๋ชฉ๊ณผ ๋์ผํ๊ฒ ์ฌ๋ฆฐ๋ค
- ์์๋ ๋ค์๊ณผ ๊ฐ๋ค
-
feat : [๊ธฐ๋ฅ ๊ตฌํ]
-
refactor : [๋ณ๊ฒฝ ๋ฐ ์ถ๊ฐ ๊ธฐ๋ฅ ๊ตฌํ]
-
fix : [๋ฒ๊ทธ ์์ ]
-
docs : [๋ฌธ์ ์์ ]
-
chore : [๊ฐ๋ฐ ํ ์๋ฒ์ ์ต์ ํ]
-
| ํ๊ทธ | ์ค๋ช |
|---|---|
| [Feat] | ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ |
| [Fix] | ๋ฒ๊ทธ ์์ |
| [Refactor] | ์ฝ๋ ๋ฆฌํฉํ ๋ง (๊ธฐ๋ฅ ๋ณ๊ฒฝ ์์ด ๊ตฌ์กฐ ๊ฐ์ ) |
| [Style] | ์ฝ๋ ํฌ๋งทํ , ๋ค์ฌ์ฐ๊ธฐ ์์ ๋ฑ |
| [Docs] | ๋ฌธ์ ๊ด๋ จ ์์ |
| [Test] | ํ ์คํธ ์ฝ๋ ์ถ๊ฐ ๋๋ ์์ |
| [Chore] | ๋น๋/์ค์ ๊ด๋ จ ์์ |
| [Design] | UI ๋์์ธ ์์ |
| [Hotfix] | ์ด์ ์ค ๊ธด๊ธ ์์ |
| [CI/CD] | ๋ฐฐํฌ ๋ฐ ์ํฌํ๋ก์ฐ ๊ด๋ จ ์์ |