Skip to content
View namkungkang's full-sized avatar
๐Ÿ•โ€๐Ÿฆบ
Polo
๐Ÿ•โ€๐Ÿฆบ
Polo

Block or report namkungkang

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
namkungkang/README.md

Typing SVG

๐Ÿ“Š GitHub Stats

๐Ÿ’ป Tech Stacks

๐Ÿ› ๏ธ Tools

๐Ÿ† Awards

๏ผƒ UMC 7th Demoday ๋Œ€์ƒ

Image

๐Ÿ“Œ ํ”„๋กœ์ ํŠธ๋ช… (Backend)

"CHIC-CHIC"
ํ–ฅ์ˆ˜ ์ „๋ฌธ ์‡ผํ•‘๊ณผ ์ปค๋ฎค๋‹ˆํ‹ฐ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์›น ํ”Œ๋žซํผ


๐Ÿ“– ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

  • Spring Boot ๊ธฐ๋ฐ˜ REST API ์„œ๋ฒ„
  • ์ฃผ์š” ๊ธฐ๋Šฅ:
    • ์œ ์ € ์„ค๋ฌธ์กฐ์‚ฌ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ฐ ์ €์žฅ
    • OpenAI GPT API ์—ฐ๋™ํ•˜์—ฌ ๋งž์ถคํ˜• ๊ฑด๊ฐ• ์ ์ˆ˜ ๋ฐ ํ”ผ๋“œ๋ฐฑ ์ œ๊ณต
    • JWT ์ธ์ฆ ๊ธฐ๋ฐ˜ ๋กœ๊ทธ์ธ/ํšŒ์›๊ฐ€์ž…
    • AWS S3 ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ
    • RDS(MySQL) ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ ์˜์†ํ™”

๐ŸŒฟ ๋ธŒ๋žœ์น˜ ์ „๋žต

Git Flow ์ „๋žต

  • main : ๋ฐฐํฌ ๋ธŒ๋žœ์น˜
  • develop : ๊ฐœ๋ฐœ ํ†ตํ•ฉ ๋ธŒ๋žœ์น˜
  • feature/ : ๊ธฐ๋Šฅ๋ณ„ ๋ธŒ๋žœ์น˜ (feature/auth, feature/perfume)
  • bug/ : ๊ธด๊ธ‰ ์ˆ˜์ • ๋ธŒ๋žœ์น˜
  • release/ : ๋ฐฐํฌ ์ „ QA ๋ธŒ๋žœ์น˜

๐Ÿ› ๏ธ ๊ธฐ์ˆ  ์Šคํƒ

๊ตฌ๋ถ„ ๊ธฐ์ˆ  ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
์–ธ์–ด Java 17
ํ”„๋ ˆ์ž„์›Œํฌ Spring Boot 3.2.5
๋นŒ๋“œ ๋„๊ตฌ Gradle
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค MySQL 8
ORM Spring Data JPA (Hibernate)
API ๋ฌธ์„œํ™” Swagger
๋ณด์•ˆ Spring Security, JWT
ํด๋ผ์šฐ๋“œ ์Šคํ† ๋ฆฌ์ง€ AWS S3
๋ฐฐํฌ Docker, AWS EC2
CI/CD GitHub Actions
๊ธฐํƒ€ Lombok

๐Ÿ“‚ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

ํด๋” ๊ตฌ์กฐ ํŽผ์น˜๊ธฐ/์ ‘๊ธฐ
chic_chic
โ””โ”€โ”€ spring
    โ”œโ”€โ”€ Application.java
    โ”‚
    โ”œโ”€โ”€ apiPayload
    โ”‚   โ”œโ”€โ”€ ApiResponse.java
    โ”‚   โ”œโ”€โ”€ code
    โ”‚   โ”‚   โ”œโ”€โ”€ BaseCode.java
    โ”‚   โ”‚   โ”œโ”€โ”€ BaseErrorCode.java
    โ”‚   โ”‚   โ”œโ”€โ”€ ErrorReasonDTO.java
    โ”‚   โ”‚   โ”œโ”€โ”€ ReasonDTO.java
    โ”‚   โ”‚   โ””โ”€โ”€ status
    โ”‚   โ”‚       โ”œโ”€โ”€ ErrorStatus.java
    โ”‚   โ”‚       โ””โ”€โ”€ SuccessStatus.java
    โ”‚   โ””โ”€โ”€ exception
    โ”‚       โ”œโ”€โ”€ ExceptionAdvice.java
    โ”‚       โ”œโ”€โ”€ GeneralException.java
    โ”‚       โ””โ”€โ”€ handler
    โ”‚           โ”œโ”€โ”€ CustomException.java
    โ”‚           โ”œโ”€โ”€ CustomOAuth2SuccessHandler.java
    โ”‚           โ””โ”€โ”€ MemberHandler.java
    โ”‚
    โ”œโ”€โ”€ auth
    โ”‚   โ”œโ”€โ”€ CustomAccessDeniedHandler.java
    โ”‚   โ”œโ”€โ”€ CustomAuthenticationEntryPoint.java
    โ”‚   โ””โ”€โ”€ UserDetailsServiceImpl.java
    โ”‚
    โ”œโ”€โ”€ client
    โ”‚   โ””โ”€โ”€ AIRecommendClient.java
    โ”‚
    โ”œโ”€โ”€ config
    โ”‚   โ”œโ”€โ”€ RestTemplateConfig.java
    โ”‚   โ”œโ”€โ”€ S3Config.java
    โ”‚   โ”œโ”€โ”€ SecurityConfig.java
    โ”‚   โ”œโ”€โ”€ SwaggerConfig.java
    โ”‚   โ”œโ”€โ”€ jwt
    โ”‚   โ”‚   โ”œโ”€โ”€ JwtAuthenticationFilter.java
    โ”‚   โ”‚   โ”œโ”€โ”€ JwtTokenProvider.java
    โ”‚   โ”‚   โ””โ”€โ”€ JwtUtil.java
    โ”‚   โ””โ”€โ”€ properties
    โ”‚       โ”œโ”€โ”€ Constants.java
    โ”‚       โ””โ”€โ”€ JwtProperties.java
    โ”‚
    โ”œโ”€โ”€ converter
    โ”‚   โ”œโ”€โ”€ ConsultPostConverter.java
    โ”‚   โ”œโ”€โ”€ MemberConverter.java
    โ”‚   โ”œโ”€โ”€ TestQuestionConverter.java
    โ”‚   โ””โ”€โ”€ TestResultConverter.java
    โ”‚
    โ”œโ”€โ”€ domain
    โ”‚   โ”œโ”€โ”€ Category.java
    โ”‚   โ”œโ”€โ”€ ConsultPost.java
    โ”‚   โ”œโ”€โ”€ Member.java
    โ”‚   โ”œโ”€โ”€ Note.java
    โ”‚   โ”œโ”€โ”€ Product.java
    โ”‚   โ”œโ”€โ”€ ProductNote.java
    โ”‚   โ”œโ”€โ”€ ProductNoteId.java
    โ”‚   โ”œโ”€โ”€ RefreshToken.java
    โ”‚   โ”œโ”€โ”€ Scrap.java
    โ”‚   โ”œโ”€โ”€ TestResult.java
    โ”‚   โ”œโ”€โ”€ common
    โ”‚   โ”‚   โ””โ”€โ”€ BaseEntity.java
    โ”‚   โ”œโ”€โ”€ entity
    โ”‚   โ”‚   โ”œโ”€โ”€ Perfume.java
    โ”‚   โ”‚   โ”œโ”€โ”€ PerfumeDiary.java
    โ”‚   โ”‚   โ”œโ”€โ”€ PerfumeDiaryComments.java
    โ”‚   โ”‚   โ”œโ”€โ”€ PerfumeStory.java
    โ”‚   โ”‚   โ””โ”€โ”€ Review.java
    โ”‚   โ”œโ”€โ”€ enums
    โ”‚   โ”‚   โ”œโ”€โ”€ CategoryType.java
    โ”‚   โ”‚   โ”œโ”€โ”€ Gender.java
    โ”‚   โ”‚   โ”œโ”€โ”€ PostType.java
    โ”‚   โ”‚   โ”œโ”€โ”€ SocialType.java
    โ”‚   โ”‚   โ””โ”€โ”€ mapping
    โ”‚   โ””โ”€โ”€ repository
    โ”‚       โ”œโ”€โ”€ CategoryRepository.java
    โ”‚       โ”œโ”€โ”€ ConsultPostRepository.java
    โ”‚       โ”œโ”€โ”€ MemberRepository.java
    โ”‚       โ”œโ”€โ”€ PerfumeDiaryCommentRepository.java
    โ”‚       โ”œโ”€โ”€ PerfumeDiaryRepository.java
    โ”‚       โ”œโ”€โ”€ PerfumeStoryRepository.java
    โ”‚       โ”œโ”€โ”€ ProductRepository.java
    โ”‚       โ”œโ”€โ”€ RecommendProductRepository.java
    โ”‚       โ”œโ”€โ”€ RefreshTokenRepository.java
    โ”‚       โ”œโ”€โ”€ ReviewRepository.java
    โ”‚       โ”œโ”€โ”€ ScrapRepository.java
    โ”‚       โ””โ”€โ”€ TestResultRepository.java
    โ”‚
    โ”œโ”€โ”€ service
    โ”‚   โ”œโ”€โ”€ AuthService
    โ”‚   โ”‚   โ”œโ”€โ”€ AuthService.java
    โ”‚   โ”‚   โ””โ”€โ”€ AuthServiceImpl.java
    โ”‚   โ”œโ”€โ”€ category
    โ”‚   โ”‚   โ””โ”€โ”€ CategoryService.java
    โ”‚   โ”œโ”€โ”€ ConsultPostService
    โ”‚   โ”‚   โ”œโ”€โ”€ ConsultService.java
    โ”‚   โ”‚   โ””โ”€โ”€ ConsultServiceImpl.java
    โ”‚   โ”œโ”€โ”€ ImageService
    โ”‚   โ”‚   โ”œโ”€โ”€ S3UploaderService.java
    โ”‚   โ”‚   โ””โ”€โ”€ S3UploaderServiceImpl.java
    โ”‚   โ”œโ”€โ”€ MemberService
    โ”‚   โ”‚   โ”œโ”€โ”€ MemberCommandService.java
    โ”‚   โ”‚   โ””โ”€โ”€ MemberCommandServiceImpl.java
    โ”‚   โ”œโ”€โ”€ OauthService
    โ”‚   โ”‚   โ”œโ”€โ”€ CustomOAuth2MemberServiceImpl.java
    โ”‚   โ”‚   โ”œโ”€โ”€ Oauth2MemberService.java
    โ”‚   โ”‚   โ””โ”€โ”€ Oauth2MemberServiceImpl.java
    โ”‚   โ”œโ”€โ”€ perfumediaryservice
    โ”‚   โ”‚   โ”œโ”€โ”€ PerfumeDiaryService.java
    โ”‚   โ”‚   โ””โ”€โ”€ PerfumeDiaryServiceImpl.java
    โ”‚   โ”œโ”€โ”€ perfumestoryservice
    โ”‚   โ”‚   โ””โ”€โ”€ PerfumeStoryService.java
    โ”‚   โ”œโ”€โ”€ product
    โ”‚   โ”‚   โ”œโ”€โ”€ HomeProductService.java
    โ”‚   โ”‚   โ”œโ”€โ”€ ProductDetailService.java
    โ”‚   โ”‚   โ””โ”€โ”€ ProductService.java
    โ”‚   โ”œโ”€โ”€ Review
    โ”‚   โ”‚   โ”œโ”€โ”€ ReviewService.java
    โ”‚   โ”‚   โ””โ”€โ”€ ReviewServiceImpl.java
    โ”‚   โ”œโ”€โ”€ ScrapService
    โ”‚   โ”‚   โ”œโ”€โ”€ ScrapService.java
    โ”‚   โ”‚   โ””โ”€โ”€ ScrapServiceImpl.java
    โ”‚   โ””โ”€โ”€ TestSubmitService
    โ”‚       โ””โ”€โ”€ TestSubmitService.java
    โ”‚
    โ”œโ”€โ”€ validator
    โ”‚   โ”œโ”€โ”€ annotation
    โ”‚   โ”‚   โ””โ”€โ”€ PasswordMatch.java
    โ”‚   โ””โ”€โ”€ validator
    โ”‚       โ””โ”€โ”€ PasswordMatchValidator.java
    โ”‚
    โ””โ”€โ”€ web
        โ”œโ”€โ”€ controller
        โ”‚   โ”œโ”€โ”€ AuthController.java
        โ”‚   โ”œโ”€โ”€ ConsultPostController.java
        โ”‚   โ”œโ”€โ”€ HomeController.java
        โ”‚   โ”œโ”€โ”€ MemberController.java
        โ”‚   โ”œโ”€โ”€ PerfumeDiaryController.java
        โ”‚   โ”œโ”€โ”€ PerfumeReviewController.java
        โ”‚   โ”œโ”€โ”€ PerfumeStoryController.java
        โ”‚   โ”œโ”€โ”€ S3ImageController.java
        โ”‚   โ”œโ”€โ”€ ScrapController.java
        โ”‚   โ”œโ”€โ”€ TestQuestionController.java
        โ”‚   โ”œโ”€โ”€ TestSubmitController.java
        โ”‚   โ”œโ”€โ”€ category
        โ”‚   โ””โ”€โ”€ product
        โ”‚       โ”œโ”€โ”€ ProductController.java
        โ”‚       โ””โ”€โ”€ ProductDetailController.java
        โ””โ”€โ”€ dto
            โ”œโ”€โ”€ AIRequestDto.java
            โ”œโ”€โ”€ AIResponseDto.java
            โ”œโ”€โ”€ AnswerDto.java
            โ”œโ”€โ”€ CommentRequest.java
            โ”œโ”€โ”€ CommentResponse.java
            โ”œโ”€โ”€ ConsultPostRequest.java
            โ”œโ”€โ”€ ConsultPostResponse.java
            โ”œโ”€โ”€ MemberRequestDTO.java
            โ”œโ”€โ”€ MemberResponseDTO.java
            โ”œโ”€โ”€ MyDiaryResponse.java
            โ”œโ”€โ”€ OptionDto.java
            โ”œโ”€โ”€ PerfumeStoryDetailResponse.java
            โ”œโ”€โ”€ PerfumeStoryResponse.java
            โ”œโ”€โ”€ ProductDetailResponse.java
            โ”œโ”€โ”€ ProductListResponse.java
            โ”œโ”€โ”€ ProductResponse.java
            โ”œโ”€โ”€ QuestionDto.java
            โ”œโ”€โ”€ RecommendedPerfumeDto.java
            โ”œโ”€โ”€ RecommendProductResponseDto.java
            โ”œโ”€โ”€ ReIssueRequestDTO.java
            โ”œโ”€โ”€ ReIssueResponseDTO.java
            โ”œโ”€โ”€ S3ResponseDto.java
            โ”œโ”€โ”€ TestSubmitRequest.java

๐Ÿ‘ฅ ๋ฐฑ์—”๋“œ ํŒ€์› ์ •๋ณด

์ด๋ฆ„ ์ฃผ์š” ๋‹ด๋‹น ์—…๋ฌด
์•Œํ‹ฐ / ๋‚จ๊ถ๊ฐ• ํšŒ์›/์ธ์ฆ/๋งˆ์ดํ™ˆ, JWT ๋“ฑ ๊ณตํ†ต ์„ค์ •
์‹œ๋Ÿฝ / ์ด๋„ํ›ˆ ํ–ฅ์ˆ˜ ๋„๋ฉ”์ธ ( ๋ฉ”์ธ/์นดํ…Œ๊ณ ๋ฆฌ/์ƒ์„ธ)
๋ฏผํ† ๋ฆฌ / ์„ฑ๋ฏผ์ฃผ ์ปค๋ฎค๋‹ˆํ‹ฐ(์ถ”์ฒœ ์ƒ๋‹ด์†Œ)
์กฐ์ด / ๋ฐ•์€์„œ ํ–ฅ์ˆ˜ ์ผ๊ธฐ์žฅ + ํ–ฅ์ˆ˜ ์ด์•ผ๊ธฐ + ๊ณตํ†ต ์๋‹ต, ์˜ˆ์™ธ์ฒ˜๋ฆฌ

Popular repositories Loading

  1. C-practice C-practice Public

    C์–ธ์–ด ์—ฐ์Šต

  2. Python-practice Python-practice Public

    ํŒŒ์ด์ฌ ์—ฐ์Šต

    Python

  3. Adsp Adsp Public

    ์ž๊ฒฉ์ฆ ๊ณต๋ถ€

  4. Html-Css-JavaScript Html-Css-JavaScript Public

    Front ์—ฐ์Šต

    HTML

  5. namkungkang namkungkang Public

  6. GitriniForkRepo GitriniForkRepo Public

    Forked from shinplest/GitriniForkRepo

    โœ๐Ÿป์ธํ”„๋Ÿฐ ๊นƒ๋ฆฐ์ด์ฝ”์Šค Fork Repo์ž…๋‹ˆ๋‹ค.

    Rich Text Format