뉴렉처

GGogit

추가 뉴렉처 8기 자바 풀스택 수료생 프로젝트

2024년 11월 26일 수료

뉴렉처 수강생들이 완성한 프로젝트 경험과 과정을 공유합니다.
구인 계획이 있으세요?
아래 메일주소로 연락주세요.^^
contact@newlecture.com

프로젝트 제목: GGogit

프로젝트 주제: 단상, 메모, 기록의 저장 및 시각적 조직화 서비스

구현내용

  • 1. 독서, 영상, 학습 등 다양한 주제에 대한 메모 시스템 제공
  • 2. 독서의 경우 검색을 통한 도서 정보 제공 및 현재 독서 상태 추적 관리 서비스
  • 3. 트리 구조를 이용한 메모 추가, 추적 및 검색 기능 제공
  • 4. 작성한 메모, 독서록 등을 바탕으로한 커뮤니티 서비스

발표영상

UI 기획

Thumbnail Image
Full Image

Usecase 다이어그램

제출하지 않음.

DB 모델링

Thumbnail Image
Full Image
Thumbnail Image
Full Image

백엔드 프로젝트 아키텍처

🏗️ 모놀로식 Layered 하이브리드 아키텍처

                                
        Ggogit
            │  GgogitApplication.java
            │  project-structure.txt
            │  
            ├─api
            │  │  TestController.java
            │  │  
            │  ├─book
            │  │  │  AladinController.java
            │  │  │  BookCategoryController.java
            │  │  │  BookController.java
            │  │  │  
            │  │  ├─dto
            │  │  │      AladinApiSearchResponse.java
            │  │  │      BookCategoryResponse.java
            │  │  │      BookDetailResponse.java
            │  │  │      BookInfoResponse.java
            │  │  │      BookListResponse.java
            │  │  │      BookRequest.java
            │  │  │      BookResponse.java
            │  │  │      
            │  │  └─filter
            │  │          BookFilterType.java
            │  │          
            │  ├─exception
            │  │      ErrorResponse.java
            │  │      GlobalExceptionHandler.java
            │  │      
            │  ├─image
            │  │      ImageController.java
            │  │      
            │  ├─leaf
            │  │  │  LeafBookController.java
            │  │  │  LeafController.java
            │  │  │  LeafEtcController.java
            │  │  │  LeafImageController.java
            │  │  │  LeafTagController.java
            │  │  │  
            │  │  └─dto
            │  │          BookLeafEditResponse.java
            │  │          BookLeafRequest.java
            │  │          BookLeafResponse.java
            │  │          EtcLeafEditResponse.java
            │  │          EtcLeafRequest.java
            │  │          EtcLeafResponse.java
            │  │          LeafBeforeNodeInfoResponse.java
            │  │          LeafBookCardResponse.java
            │  │          LeafBookDetailResponse.java
            │  │          LeafBookEditDetailResponse.java
            │  │          LeafBranchInfoResponse.java
            │  │          LeafBranchResponse.java
            │  │          LeafBreadcrumbResponse.java
            │  │          LeafCardResponse.java
            │  │          LeafDetailResponse.java
            │  │          LeafEtcDetailResponse.java
            │  │          LeafItemResponse.java
            │  │          LeafItemToEndResponse.java
            │  │          LeafSearchQuery.java
            │  │          LeafSearchResultResponse.java
            │  │          LeafSeedResponse.java
            │  │          LeafTagDetailResponse.java
            │  │          LeafTagListResponse.java
            │  │          LeafTagRequest.java
            │  │          LeafTagResponse.java
            │  │          
            │  ├─main
            │  │      MainController.java
            │  │      
            │  ├─member
            │  │  ├─controller
            │  │  │      AuthController.java
            │  │  │      MemberController.java
            │  │  │      
            │  │  ├─dto
            │  │  │      AuthInfoResponse.java
            │  │  │      MemberCheckEmailRequest.java
            │  │  │      MemberCheckEmailResponse.java
            │  │  │      MemberCheckTokenRequest.java
            │  │  │      MemberCheckTokenResponse.java
            │  │  │      MemberEditRequest.java
            │  │  │      MemberEditResponse.java
            │  │  │      MemberInfoResponse.java
            │  │  │      MemberJoinRequest.java
            │  │  │      MemberJoinResponse.java
            │  │  │      MemberLoginRequest.java
            │  │  │      MemberLoginResponse.java
            │  │  │      MemberLogoutResponse.java
            │  │  │      MemberOAuthJoinRequest.java
            │  │  │      MemberOAuthJoinResponse.java
            │  │  │      MemberPasswordResetRequest.java
            │  │  │      MemberPasswordResetResponse.java
            │  │  │      MemberPasswordResetSendEmailRequest.java
            │  │  │      MemberPasswordResetSendEmailResponse.java
            │  │  │      MemberRefreshResponse.java
            │  │  │      MemberRequest.java
            │  │  │      MemberResponse.java
            │  │  │      MemberSendEmailRequest.java
            │  │  │      MemberSendEmailResponse.java
            │  │  │      
            │  │  └─session
            │  │          SessionConst.java
            │  │          
            │  ├─memoir
            │  │  │  MemoirController.java
            │  │  │  MemoirImageController.java
            │  │  │  
            │  │  └─dto
            │  │          MemoirBookCardDtoResponse.java
            │  │          MemoirBookCardDtoResponseList.java
            │  │          MemoirCardDtoResponse.java
            │  │          MemoirDto.java
            │  │          MemoirRequest.java
            │  │          MemoirResponse.java
            │  │          
            │  └─tree
            │      │  SeedController.java
            │      │  TreeController.java
            │      │  TreeTmpController.java
            │      │  
            │      └─dto
            │              BookAutoTreeTmpRequest.java
            │              BookTreeResponse.java
            │              EditResponse.java
            │              SeedDetailResponse.java
            │              SeedResponse.java
            │              TreeBookCardRequest.java
            │              TreeBookCardResponse.java
            │              TreeBookCardResponseList.java
            │              TreeBookEdiitRequest.java
            │              TreeBranchFilter.java
            │              TreeCardDtoResponse.java
            │              TreeDetailResponse.java
            │              TreeEtcEdiitRequest.java
            │              TreeEtcTmpRequest.java
            │              TreeInfoResponse.java
            │              TreeInfoResponseHome.java
            │              TreeLightInfoResponse.java
            │              TreeListHome.java
            │              TreeSearchQuery.java
            │              TreeSearchResultResponse.java
            │              TreeTmpRequest.java
            │              TreeTmpResponse.java
            │              TreeTmpTotalPageResponse.java
            │              
            ├─config
            │      AopConfig.java
            │      CorsConfig.java
            │      ModelMapperConfig.java
            │      QueryDSLConfig.java
            │      SecurityConfig.java
            │      
            ├─domain
            │  ├─aop
            │  │      AuthorizationAspect.java
            │  │      
            │  ├─book
            │  │  ├─api
            │  │  │  │  AladinClient.java
            │  │  │  │  
            │  │  │  └─dto
            │  │  │          AladinLookUpResultDto.java
            │  │  │          AladinSearchResultDto.java
            │  │  │          ApiBookDto.java
            │  │  │          ApiLookSubInfoDto.java
            │  │  │          ApiLookUpDto.java
            │  │  │          
            │  │  ├─entity
            │  │  │      Book.java
            │  │  │      BookCategory.java
            │  │  │      BookComment.java
            │  │  │      BookCommentLike.java
            │  │  │      BookCommentLikeId.java
            │  │  │      BookLike.java
            │  │  │      BookLikeId.java
            │  │  │      
            │  │  ├─repository
            │  │  │  │  BookCategoryRepository.java
            │  │  │  │  BookCommentLikeRepository.java
            │  │  │  │  BookCommentRepository.java
            │  │  │  │  BookLikeRepository.java
            │  │  │  │  BookRepository.java
            │  │  │  │  
            │  │  │  └─query
            │  │  │          BookQueryRepository.java
            │  │  │          BookQueryRepositoryImpl.java
            │  │  │          
            │  │  └─service
            │  │          AladinService.java
            │  │          AladinServiceImpl.java
            │  │          BookCategoryService.java
            │  │          BookCategoryServiceImpl.java
            │  │          BookService.java
            │  │          BookServiceImpl.java
            │  │          
            │  ├─image
            │  │  ├─repository
            │  │  │      ImageRepositoryImpl.java
            │  │  │      
            │  │  └─service
            │  │          ImageService.java
            │  │          
            │  ├─leaf
            │  │  ├─entity
            │  │  │      Leaf.java
            │  │  │      LeafBook.java
            │  │  │      LeafComment.java
            │  │  │      LeafCommentLike.java
            │  │  │      LeafCommentLikeId.java
            │  │  │      LeafImage.java
            │  │  │      LeafLike.java
            │  │  │      LeafLikeId.java
            │  │  │      LeafTag.java
            │  │  │      LeafTagMap.java
            │  │  │      LeafTagMapId.java
            │  │  │      
            │  │  ├─mapper
            │  │  │      LeafImageMapper.java
            │  │  │      LeafTagMapMapper.java
            │  │  │      
            │  │  ├─repository
            │  │  │      LeafBookRepository.java
            │  │  │      LeafCommentLikeRepository.java
            │  │  │      LeafCommentRepository.java
            │  │  │      LeafImageRepository.java
            │  │  │      LeafLikeRepository.java
            │  │  │      LeafQueryDslRepository.java
            │  │  │      LeafQueryDslRepositoryImpl.java
            │  │  │      LeafRepository.java
            │  │  │      LeafTagMapRepository.java
            │  │  │      LeafTagRepository.java
            │  │  │      
            │  │  ├─service
            │  │  │      LeafBookService.java
            │  │  │      LeafBookServiceImpl.java
            │  │  │      LeafDtoService.java
            │  │  │      LeafDtoServiceImpl.java
            │  │  │      LeafEtcService.java
            │  │  │      LeafEtcServiceImpl.java
            │  │  │      LeafImageService.java
            │  │  │      LeafImageServiceImpl.java
            │  │  │      LeafTagService.java
            │  │  │      LeafTagServiceImpl.java
            │  │  │      
            │  │  └─structure
            │  │          TreeNode.java
            │  │          TreeStructure.java
            │  │          
            │  ├─member
            │  │  ├─api
            │  │  │  ├─dto
            │  │  │  │      AuthResponseDto.java
            │  │  │  │      GoogleOauthDto.java
            │  │  │  │      KakaoAccessResponseDto.java
            │  │  │  │      KakaoUserInfo.java
            │  │  │  │      NaverOauthAccessDto.java
            │  │  │  │      NaverUserInfo.java
            │  │  │  │      
            │  │  │  └─oauth2
            │  │  │          GoogleOauthClient.java
            │  │  │          KakaoOauthClient.java
            │  │  │          NaverOauthClient.java
            │  │  │          
            │  │  ├─entity
            │  │  │      EmailJoinToken.java
            │  │  │      Follow.java
            │  │  │      FollowId.java
            │  │  │      Member.java
            │  │  │      MemberBackgroundImage.java
            │  │  │      MemberProfileImage.java
            │  │  │      PassWordRest.java
            │  │  │      RoleType.java
            │  │  │      
            │  │  ├─repository
            │  │  │      EmailJoinTokenRepository.java
            │  │  │      FollowRepository.java
            │  │  │      MemberBackgroundImageRepository.java
            │  │  │      MemberProfileImageRepository.java
            │  │  │      MemberRepository.java
            │  │  │      PassWordRestRepository.java
            │  │  │      
            │  │  ├─security
            │  │  │      CustomUserDetails.java
            │  │  │      CustomUserDetailsService.java
            │  │  │      
            │  │  └─service
            │  │          AuthService.java
            │  │          AuthServiceImpl.java
            │  │          EmailService.java
            │  │          MemberImageService.java
            │  │          MemberImageServiceImpl.java
            │  │          MemberService.java
            │  │          MemberServiceImpl.java
            │  │          
            │  ├─memoir
            │  │  ├─entity
            │  │  │      Memoir.java
            │  │  │      MemoirComment.java
            │  │  │      MemoirCommentLike.java
            │  │  │      MemoirCommentLikeId.java
            │  │  │      MemoirLike.java
            │  │  │      MemoirLikeId.java
            │  │  │      
            │  │  ├─repository
            │  │  │  │  MemoirCommentLikeRepository.java
            │  │  │  │  MemoirCommentRepository.java
            │  │  │  │  MemoirLikeRepository.java
            │  │  │  │  MemoirRepository.java
            │  │  │  │  
            │  │  │  └─query
            │  │  │          MemoirQueryRepository.java
            │  │  │          MemoirQueryRepositoryImpl.java
            │  │  │          
            │  │  └─service
            │  │          MemoirDtoService.java
            │  │          MemoirDtoServiceImpl.java
            │  │          MemoirService.java
            │  │          MemoirServiceImpl.java
            │  │          
            │  └─tree
            │      ├─entity
            │      │      Seed.java
            │      │      Tree.java
            │      │      TreeBook.java
            │      │      TreeImage.java
            │      │      TreeLike.java
            │      │      TreeLikeId.java
            │      │      TreeTmp.java
            │      │      
            │      ├─mapper
            │      │      TreeMapper.java
            │      │      
            │      ├─repository
            │      │  │  SeedRepository.java
            │      │  │  TreeBookRepository.java
            │      │  │  TreeImageRepository.java
            │      │  │  TreeLikeRepository.java
            │      │  │  TreeRepository.java
            │      │  │  TreeTmpRepository.java
            │      │  │  
            │      │  └─query
            │      │          TreeQueryRepository.java
            │      │          TreeQueryRepositoryImpl.java
            │      │          
            │      └─service
            │              SeedService.java
            │              SeedServiceImpl.java
            │              TreeImageService.java
            │              TreeImageServiceImpl.java
            │              TreeService.java
            │              TreeServiceImpl.java
            │              TreeTmpService.java
            │              TreeTmpServiceImpl.java
            │              TreeUrilServiceImpl.java
            │              TreeUtilService.java
            │              
            ├─filter
            │      JwtAuthenticationFilter.java
            │      
            ├─type
            │      AladinBookSearchType.java
            │      BookCategoryType.java
            │      FilterType.java
            │      LeafDirectionType.java
            │      SearchType.java
            │      SortType.java
            │      UploadFolderType.java
            │      
            └─util
                    EmailTemplate.java
                    JwtTokenProvider.java
        
                            

보유 기술스팩

: 프로젝트에 적용하지 않음
: 프로젝트에 적용함

Lanaugage

  • 자바
  • 자바 객체지향
  • 자바 리플렉션
  • 자바 스트림 API
  • ECMAScript 5
  • ECMAScript 6
  • HTML/CSS
  • SQL

DBMS

  • H2
  • Oracle
  • MariaDB
  • DB Modeling

Persistance API

  • JDBC
  • Mybatis
  • JPA & Hibernate API
  • Criteria API

Frontend API

  • DOM,BOM,CSSOM API
  • Ajax
  • NodeJS
  • Vue.js
  • Nuxt3

Backend API

  • Servlet&JSP
  • JSP MVC
  • Thymeleaf
  • Spring MVC
  • Spring Boot

Transaction

  • Spring Transaction

Authentication Authority

  • Spring Security
  • Stateless JWT Authority
  • OAuth2 API

Build Tool

  • Maven

Logging

  • Log4j

Version Control

  • Git

Deployment Environment

  • Linux(Ubuntu 24.04)
  • Java Runtime(21.0.5)
  • MariaDB(10.5)
  • Node(22.11)
  • Nginx(1.24)
  • PM2(5.4.2)

Container

  • 사용안함

프로젝트 발표 자료

  • 제출하지 않음.