추가 뉴렉처 8기 자바 풀스택 수료생 프로젝트
2024년 11월 26일 수료
뉴렉처 수강생들이 완성한 프로젝트 경험과 과정을 공유합니다.
구인 계획이 있으세요?
아래 메일주소로 연락주세요.^^
contact@newlecture.com
프로젝트 제목: GGogit
프로젝트 주제: 단상, 메모, 기록의 저장 및 시각적 조직화 서비스
구현내용
- 1. 독서, 영상, 학습 등 다양한 주제에 대한 메모 시스템 제공
- 2. 독서의 경우 검색을 통한 도서 정보 제공 및 현재 독서 상태 추적 관리 서비스
- 3. 트리 구조를 이용한 메모 추가, 추적 및 검색 기능 제공
- 4. 작성한 메모, 독서록 등을 바탕으로한 커뮤니티 서비스
발표영상
UI 기획
Usecase 다이어그램
제출하지 않음.
DB 모델링
백엔드 프로젝트 아키텍처
🏗️ 모놀로식 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
- 사용안함
프로젝트 링크
- 제출하지 않음.
프로젝트 발표 자료
- 제출하지 않음.