How onizuka-sh/dating-platform works
This is a Java Servlet/JSP dating platform. Users register and verify accounts, build profiles and preferences, browse compatibility-filtered candidates, like or pass, and communicate with matches. The graph follows the sampled servlet/service/DAO ownership; registration, verification, messaging, and some matching wiring are represented from the README and repository tree where their source was not sampled, so those links are limited to documented or clear entry-point relationships.
Main entry points: MatchingService.java Compatibility matching · MatchingServlet.java Candidate browsing · HomeController.java Login and dashboard · UserDAO.java User records
Components 21
Web interface
- Login and dashboard
src/main/javaproj/com/dating/controller/HomeController.java - Login and dashboard pages
src/main/webapp/login.jsp - Candidate browsing
src/main/javaproj/com/dating/controller/MatchingServlet.java - Matches pages
src/main/webapp/matches.jsp - Conversation pages
src/main/webapp/conversation.jsp
Accounts and profiles
- Registration
src/main/javaproj/com/dating/controller/RegistrationServlet.java - Email verification
src/main/javaproj/com/dating/controller/VerificationServlet.java - Email service
src/main/javaproj/com/dating/service/EmailService.java - Profile management
src/main/javaproj/com/dating/controller/ProfileServlet.java
Discovery and matching
- Compatibility matching
src/main/javaproj/com/dating/service/MatchingService.java
Messaging
- Message handling
src/main/javaproj/com/dating/controller/MessagingServlet.java
Persistence and security
- Profile and interests
src/main/javaproj/com/dating/dao/ProfileDAO.java - Preferences
src/main/javaproj/com/dating/dao/PreferencesDAO.java - Match records
src/main/javaproj/com/dating/dao/MatchDAO.java - Message records
src/main/javaproj/com/dating/dao/MessageDAO.java - Authentication filter
src/main/javaproj/com/dating/filter/AuthenticationFilter.java - Security headers
src/main/javaproj/com/dating/filter/SecurityHeaderFilter.java - User records
src/main/javaproj/com/dating/dao/UserDAO.java - MySQL database
Schema.sql
Other components
- Member
- SMTP service
Connections 31
- Member → Registration: submits details
- Registration → User records: creates account
- Registration → Email service: requests verification
- Email service → SMTP service: sends email
- Member → Email verification: follows link
- Email verification → User records: updates verification
- Member → Login and dashboard: logs in
- Login and dashboard → User records: looks up user
- Login and dashboard → Login and dashboard pages: forwards page
- Member → Profile management: edits profile
- Profile management → Profile and interests: reads and writes
- Profile management → Preferences: saves preferences
- Member → Candidate browsing: browses candidates
- Candidate browsing → Compatibility matching: requests candidates
- Compatibility matching → Preferences: reads preferences
- Compatibility matching → User records: loads users
- Compatibility matching → Match records: checks interactions
- Candidate browsing → Matches pages: forwards results
- Member → Candidate browsing: likes or passes
- Candidate browsing → Compatibility matching: records choice
- Compatibility matching → Match records: creates match
- Member → Message handling: opens conversation
- Message handling → Message records: reads and writes
- Message handling → Conversation pages: forwards conversation
- Authentication filter → Login and dashboard: guards routes
- Security headers → Login and dashboard: adds headers
- User records → MySQL database: reads and writes
- Profile and interests → MySQL database: reads and writes
- Preferences → MySQL database: reads and writes
- Match records → MySQL database: reads and writes
- Message records → MySQL database: reads and writes