How dongkun8130/mohaengproject works
Mohaeng is a Spring backend for an integrated travel platform: members can generate personalized itineraries, discover and book flights, lodging, and tours, then use payments and travel-community features. The README documents separate JSP member and React admin clients, hybrid session/JWT authentication, and an Oracle/MyBatis persistence layer. The graph groups the main product domains and preserves documented AI, external-data, and real-time-chat capabilities. Sampled sources confirm selected service-to-mapper calls; unsampled domain wiring is represented only where the README documents it.
Main entry points: MohaengProjectApplication.java Spring backend · CustomOAuth2UserService.java Member login · TripScheduleServiceImpl.java Trip planner · FlightServiceImpl.java Flight search
Components 25
Access and identity
- Spring backend
src/main/java/kr/or/ddit/MohaengProjectApplication.java - Member login
src/main/java/kr/or/ddit/mohaeng/login/service/CustomOAuth2UserService.java - User lookup
src/main/java/kr/or/ddit/mohaeng/security/CustomUserDetailsService.java
Travel planning
- Trip planner
src/main/java/kr/or/ddit/mohaeng/tripschedule/service/TripScheduleServiceImpl.java - Tour catalog
src/main/java/kr/or/ddit/mohaeng/tour/service/TripProdServiceImpl.java - Flight search
src/main/java/kr/or/ddit/mohaeng/flight/service/FlightServiceImpl.java - Accommodation
src/main/java/kr/or/ddit/mohaeng/accommodation/service/AccommodationServiceImpl.java - Lodging data sync
src/main/java/kr/or/ddit/mohaeng/accommodation/service/AccommodationBatchService.java
Booking and payments
- Payment flow
src/main/java/kr/or/ddit/mohaeng/payment/service/PaymentServiceImpl.java
Community and support
- AI chatbot
src/main/java/kr/or/ddit/mohaeng/chatbot/service/ChatbotService.java - Live chat
src/main/java/kr/or/ddit/mohaeng/community/chat/service/ChatServiceImpl.java - Travel community
src/main/java/kr/or/ddit/mohaeng/community/service/TalkServiceImpl.java - Product reviews
src/main/java/kr/or/ddit/mohaeng/product/review/service/ProdReviewServiceImpl.java - File service
src/main/java/kr/or/ddit/mohaeng/file/service/FileServiceImpl.java
Business operations
- Review moderation
src/main/java/kr/or/ddit/mohaeng/admin/review/service/AReviewServiceImpl.java - Business products
src/main/java/kr/or/ddit/mohaeng/product/manage/service/ProductMangeServiceImpl.java
Other components
- Member client
- React admin
- Chat client
- Gemini API
- TourAPI
- TAGO API
- Toss Payments
- Claude API
- Oracle database
Connections 35
- Member client → Spring backend: sends requests
- React admin → Spring backend: Axios + JWT
- Chat client → Live chat: STOMP messages
- Spring backend → Member login: routes requests
- Member login → User lookup: loads user
- Member login → Oracle database: reads/writes members
- User lookup → Oracle database: reads accounts
- Spring backend → Trip planner: routes requests
- Trip planner → Gemini API: requests itinerary
- Trip planner → Oracle database: persists schedules
- Spring backend → Tour catalog: routes requests
- Tour catalog → Oracle database: reads tour data
- Spring backend → Flight search: routes requests
- Flight search → TAGO API: queries flights
- Flight search → Oracle database: reads flight data
- Spring backend → Accommodation: routes requests
- Accommodation → Oracle database: reads lodging
- Lodging data sync → TourAPI: fetches lodging data
- Lodging data sync → Oracle database: updates lodging
- Spring backend → Payment flow: routes requests
- Payment flow → Toss Payments: processes payment
- Payment flow → Oracle database: records payments
- Spring backend → AI chatbot: routes requests
- AI chatbot → Claude API: requests response
- AI chatbot → Oracle database: logs conversations
- Live chat → Oracle database: persists messages
- Spring backend → Travel community: routes requests
- Travel community → Oracle database: reads/writes posts
- Spring backend → Product reviews: routes requests
- Product reviews → File service: stores attachments
- Product reviews → Oracle database: reads/writes reviews
- React admin → Review moderation: moderates reviews
- Review moderation → Oracle database: updates review status
- React admin → Business products: manages products
- Business products → Oracle database: persists products