How yaoming-dev/eventmmt works
MMT’s site presents two related offerings—corporate events and weddings—and converts visitor interest into contact leads. Visitors browse overview and service pages, then submit a form or ask the chat assistant; the backend handles lead operations, image delivery, and chat responses. Admin routes support lead management. The sampled source confirms the lead email and Gemini integrations and image-file handling; several frontend pages and backend services were not sampled, so their internal wiring is shown only where supported by the tree or excerpts.
Main entry points: App.jsx Site router · ContactForm.jsx Contact form · LeadService.java Lead service · LeadController.java Lead endpoints
Components 21
Public website
- Site router
frontend/src/App.jsx - Event pages
frontend/src/pages/EventPage.jsx - Wedding pages
frontend/src/pages/WeddingPage.jsx - Event services
frontend/src/components/event/EventServicePage.jsx - Wedding services
frontend/src/components/wedding/WeddingServicePage.jsx - Contact form
frontend/src/components/shared/ContactForm.jsx - Chat widget
frontend/src/components/layout/ChatWidget.jsx - Admin page
frontend/src/pages/AdminPage.jsx
Lead operations
- Lead endpoints
backend/src/main/java/com/mmt/eventwedding/controller/LeadController.java - Lead service
backend/src/main/java/com/mmt/eventwedding/service/LeadService.java - Lead repository
backend/src/main/java/com/mmt/eventwedding/repository/LeadRepository.java - Lead store
Backend services
- Chat endpoint
backend/src/main/java/com/mmt/eventwedding/controller/ChatController.java - Chat service
backend/src/main/java/com/mmt/eventwedding/service/ChatService.java - Image endpoints
backend/src/main/java/com/mmt/eventwedding/controller/ImageController.java - Image service
backend/src/main/java/com/mmt/eventwedding/service/ImageService.java
External services
- Email service
backend/src/main/java/com/mmt/eventwedding/service/EmailService.java
Other components
- Visitor
- Resend
- Gemini API
- Image files
Connections 23
- Visitor → Site router: browses
- Site router → Event pages: routes to
- Site router → Wedding pages: routes to
- Site router → Event services: routes to
- Site router → Wedding services: routes to
- Site router → Admin page: routes to
- Event pages → Contact form: offers form
- Wedding pages → Contact form: offers form
- Event services → Contact form: offers form
- Wedding services → Contact form: offers form
- Site router → Chat widget: renders
- Contact form → Lead endpoints: submits lead
- Admin page → Lead endpoints: manages leads
- Lead endpoints → Lead service: delegates
- Lead service → Lead repository: accesses leads
- Lead repository → Lead store: reads/writes
- Lead service → Email service: sends notifications
- Email service → Resend: sends email
- Chat widget → Chat endpoint: requests reply
- Chat endpoint → Chat service: delegates
- Chat service → Gemini API: requests completion
- Image endpoints → Image service: delegates
- Image service → Image files: lists/loads