How chaedogyung/jpaboard works
This is a Spring/JPA OTT application with video catalog, detail and likes workflows, plus member accounts and a community board with attachments and replies. Browsing requests enter the controllers, pass through services and repositories, and persist domain entities; video uploads also write media files. The graph retains the documented authentication and OAuth capability, though configuration wiring and some controller/service internals were not excerpted, so uncertain links are omitted.
Main entry points: VideoService.java Video service · BoardController.java Board routes · BoardService.java Board service · MemberRepository.java Member repository
Components 24
Video catalog
- Video routes
src/main/java/com/jpaboard/controller/VideoController.java - Video service
src/main/java/com/jpaboard/service/VideoService.java - Home routes
src/main/java/com/jpaboard/controller/MainController.java - Home service
src/main/java/com/jpaboard/service/MainService.java - Like routes
src/main/java/com/jpaboard/controller/VideoLikesController.java - Video media files
Community board
- Board routes
src/main/java/com/jpaboard/controller/BoardController.java - Board service
src/main/java/com/jpaboard/service/BoardService.java - Reply service
src/main/java/com/jpaboard/service/ReplyService.java - Board file service
src/main/java/com/jpaboard/service/BoardFileService.java - Board attachment files
Accounts and auth
- Member routes
src/main/java/com/jpaboard/controller/MemberController.java - Member service
src/main/java/com/jpaboard/service/MemberService.java - OAuth login
src/main/java/com/jpaboard/config/PrincipalOauth2Service.java - Principal details
src/main/java/com/jpaboard/config/oauth/PrincipalDetails.java
Persistence
- Video repository
src/main/java/com/jpaboard/repository/VideoRepository.java - Like repository
src/main/java/com/jpaboard/repository/LikeRepository.java - Member repository
src/main/java/com/jpaboard/repository/MemberRepository.java - Board repository
src/main/java/com/jpaboard/repository/BoardRepository.java - Board file repository
src/main/java/com/jpaboard/repository/BoardFileRepository.java - Reply repository
src/main/java/com/jpaboard/repository/ReplyRepository.java - Genre repository
src/main/java/com/jpaboard/repository/GenresRepository.java - Application database
Other components
- Viewer
Connections 34
- Viewer → Video routes: requests
src/main/java/com/jpaboard/controller/VideoController.java - Video routes → Video service: invokes
src/main/java/com/jpaboard/controller/VideoController.java - Video service → Video repository: queries and saves
src/main/java/com/jpaboard/service/VideoService.java - Video service → Like repository: reads and writes likes
src/main/java/com/jpaboard/service/VideoService.java - Video service → Member repository: loads member
src/main/java/com/jpaboard/service/VideoService.java - Video service → Genre repository: lists genres
src/main/java/com/jpaboard/service/VideoService.java - Video service → Video media files: writes uploaded media
src/main/java/com/jpaboard/service/VideoService.java - Viewer → Home routes: requests home
src/main/java/com/jpaboard/controller/MainController.java - Home routes → Home service: invokes
src/main/java/com/jpaboard/controller/MainController.java - Home service → Video repository: queries catalog
src/main/java/com/jpaboard/service/MainService.java - Viewer → Like routes: submits likes
src/main/java/com/jpaboard/controller/VideoLikesController.java - Like routes → Video service: invokes
src/main/java/com/jpaboard/controller/VideoLikesController.java - Viewer → Board routes: requests board
src/main/java/com/jpaboard/controller/BoardController.java - Board routes → Board service: invokes
src/main/java/com/jpaboard/controller/BoardController.java - Board routes → Reply service: invokes
src/main/java/com/jpaboard/controller/BoardController.java - Board routes → Board file service: invokes
src/main/java/com/jpaboard/controller/BoardController.java - Board service → Board repository: persists and searches
src/main/java/com/jpaboard/service/BoardService.java - Board service → Board file repository: stores file metadata
src/main/java/com/jpaboard/service/BoardService.java - Board service → Board attachment files: writes attachments
src/main/java/com/jpaboard/service/BoardService.java - Board file service → Board file repository: loads file metadata
src/main/java/com/jpaboard/service/BoardFileService.java - Reply service → Board repository: loads parent board
src/main/java/com/jpaboard/service/ReplyService.java - Reply service → Reply repository: persists replies
src/main/java/com/jpaboard/service/ReplyService.java - Viewer → Member routes: registers or logs in
src/main/java/com/jpaboard/controller/MemberController.java - Member routes → Member service: invokes
src/main/java/com/jpaboard/controller/MemberController.java - Member service → Member repository: loads and stores members
src/main/java/com/jpaboard/service/MemberService.java - OAuth login → Member repository: loads OAuth member
src/main/java/com/jpaboard/config/PrincipalOauth2Service.java - OAuth login → Principal details: creates principal
src/main/java/com/jpaboard/config/PrincipalOauth2Service.java - Video repository → Application database: queries video data
- Like repository → Application database: queries like data
- Member repository → Application database: queries member data
- Board repository → Application database: queries board data
- Board file repository → Application database: queries file metadata
- Reply repository → Application database: queries replies
- Genre repository → Application database: queries genres