How team-ctrls/totori_be works
Totori_BE is the central API and data server for a mobile reading-learning service. Children use it for personalized story creation, reading analysis, quizzes, attendance, and badges; parents and teachers review learning reports, while parents can link child accounts. The README documents AI, storage, and OAuth integrations; the source index and excerpts confirm selected service dependencies and repository interactions. Several feature modules are represented at their exact tree directories because their source was not sampled, so their internal call paths are not asserted.
Main entry points: TotoriApplication.java Totori API · BookService.java Story service · BadgeService.java Badge service · MemberService.java Member management
Components 22
Identity and family
- Auth service
src/main/java/ctrlS/totori/auth/service/AuthService.java - Kakao OAuth
src/main/java/ctrlS/totori/auth/service/CustomOAuth2UserService.java - JWT security
src/main/java/ctrlS/totori/global/security/JwtTokenProvider.java - Redis tokens
src/main/java/ctrlS/totori/auth/service/AuthRedisService.java - Member management
src/main/java/ctrlS/totori/member/service/MemberService.java - Member data
src/main/java/ctrlS/totori/member/repository/MemberRepository.java - Parent-child links
src/main/java/ctrlS/totori/connect
Stories and media
- Story service
src/main/java/ctrlS/totori/book/service/BookService.java - Story records
src/main/java/ctrlS/totori/book/repository - Totori AI
- Image generation
src/main/java/ctrlS/totori/book/service/image - Audio and TTS
src/main/java/ctrlS/totori/book/service/audio - AWS S3
Learning progress
- Quiz service
src/main/java/ctrlS/totori/quiz/service/QuizService.java - Quiz records
src/main/java/ctrlS/totori/quiz/repository/QuizRepository.java - Attendance
src/main/java/ctrlS/totori/attendance - Badge service
src/main/java/ctrlS/totori/badge/service/BadgeService.java - Learning reports
src/main/java/ctrlS/totori/report/service/ReportService.java - Member statistics
src/main/java/ctrlS/totori/member/repository/MemberStatRepository.java
API and persistence
- Totori API
src/main/java/ctrlS/totori/TotoriApplication.java - API responses
src/main/java/ctrlS/totori/global/response/dto/BaseResponse.java
Other components
- iOS app
Connections 31
- iOS app → Totori API: calls API
- Totori API → Auth service: serves login
- Totori API → Member management: serves profiles
- Totori API → Parent-child links: serves linking
- Totori API → Story service: serves stories
- Totori API → Quiz service: serves quizzes
- Totori API → Attendance: serves attendance
- Totori API → Badge service: serves badges
- Totori API → Learning reports: serves reports
- Auth service → Member data: reads members
src/main/java/ctrlS/totori/auth/service/AuthService.java - Auth service → JWT security: issues tokens
src/main/java/ctrlS/totori/auth/service/AuthService.java - Auth service → Redis tokens: uses token store
src/main/java/ctrlS/totori/auth/service/AuthService.java - Kakao OAuth → Member data: loads accounts
src/main/java/ctrlS/totori/auth/service/CustomOAuth2UserService.java - Member management → Member data: reads and updates
src/main/java/ctrlS/totori/member/service/MemberService.java - Member management → Parent-child links: queries links
src/main/java/ctrlS/totori/member/service/MemberService.java - Member management → JWT security: resolves tokens
src/main/java/ctrlS/totori/member/service/MemberService.java - Member management → Redis tokens: blacklists tokens
src/main/java/ctrlS/totori/member/service/MemberService.java - Story service → Story records: stores stories
src/main/java/ctrlS/totori/book/service/BookService.java - Story service → Totori AI: requests stories
src/main/java/ctrlS/totori/book/service/BookService.java - Story service → Badge service: checks awards
src/main/java/ctrlS/totori/book/service/BookService.java - Story service → Image generation: generates artwork
src/main/java/ctrlS/totori/book/service/BookService.java - Story service → Audio and TTS: generates narration
src/main/java/ctrlS/totori/book/service/BookService.java - Image generation → AWS S3: stores images
- Audio and TTS → AWS S3: stores audio
src/main/java/ctrlS/totori/book/service/audio/S3AudioStorageService.java - Quiz service → Totori AI: requests quiz analysis
- Quiz service → Quiz records: stores quizzes
src/main/java/ctrlS/totori/quiz/service/QuizService.java - Quiz service → Badge service: checks awards
src/main/java/ctrlS/totori/quiz/service/QuizService.java - Learning reports → Member statistics: uses learning stats
- Badge service → Member statistics: reads progress
src/main/java/ctrlS/totori/badge/service/BadgeService.java - Badge service → Member data: loads members
src/main/java/ctrlS/totori/badge/service/BadgeService.java - Badge service → AWS S3: gets badge images
src/main/java/ctrlS/totori/badge/service/BadgeService.java