How akshat200009/phishing-detecting-platform works
PhishGuard is a user-facing phishing-analysis portal for scanning URLs and email content, reviewing scan history and reports, and administering accounts and threat statistics. The main workflow runs from the authenticated workspace through a URL or email API controller into analysis services, which score findings, persist scans, and return results; email analysis also submits extracted links to URL analysis. The tree and sampled sources support the scan, auth, history, dashboard, and admin branches. Some controllers and dashboard implementations are unsampled, so their internal call wiring is omitted.
Main entry points: api.js API client · UrlAnalysisService.java URL analysis · App.jsx Workspace router · EmailAnalysisService.java Email analysis
Components 34
Web portal
- Workspace router
frontend/src/App.jsx - Portal authentication
frontend/src/pages/PortalAuthPage.jsx - URL scanner
frontend/src/pages/UrlScannerPage.jsx - Email scanner
frontend/src/pages/EmailScannerPage.jsx - User dashboard
frontend/src/pages/DashboardPage.jsx - Admin dashboard
frontend/src/pages/AdminDashboardPage.jsx - API client
frontend/src/api.js
Identity and access
- Auth endpoints
src/main/java/com/phishing/Controllers/AuthController.java - Authentication
src/main/java/com/phishing/Services/AuthService.java - User management
src/main/java/com/phishing/Services/UserService.java - User endpoints
src/main/java/com/phishing/Controllers/UserController.java - User repository
src/main/java/com/phishing/Repositories/UserRepository.java - JWT service
src/main/java/com/phishing/Services/JwtService.java
Threat analysis
- URL endpoints
src/main/java/com/phishing/urlAnalysis/controller/UrlAnalysisController.java - URL analysis
src/main/java/com/phishing/urlAnalysis/service/UrlAnalysisService.java - URL checks
src/main/java/com/phishing/urlAnalysis/service - Risk scoring
src/main/java/com/phishing/urlAnalysis/service/RiskScoreService.java - VirusTotal
src/main/java/com/phishing/urlAnalysis/service/VirusTotalService.java - Safe Browsing
src/main/java/com/phishing/urlAnalysis/service/SafeBrowsingService.java - URL scan store
src/main/java/com/phishing/urlAnalysis/repository/UrlScanRepository.java - Email endpoints
src/main/java/com/phishing/emailAnalysis/controller/EmailAnalysisController.java - Email analysis
src/main/java/com/phishing/emailAnalysis/service/EmailAnalysisService.java - Email checks
src/main/java/com/phishing/emailAnalysis/service - Email risk scoring
src/main/java/com/phishing/emailAnalysis/service/EmailRiskScoreService.java - Email scan store
src/main/java/com/phishing/emailAnalysis/repository/EmailScanRepository.java
History and administration
- History endpoints
src/main/java/com/phishing/scanHistory/controller/ScanHistoryController.java - Unified history and reports
src/main/java/com/phishing/scanHistory/service/ScanHistoryService.java - User dashboard endpoints
src/main/java/com/phishing/Controllers/UserDashboardController.java - User dashboard metrics
src/main/java/com/phishing/Services/UserDashboardService.java - Admin endpoints
src/main/java/com/phishing/Controllers/AdminDashboardController.java - Admin analytics
src/main/java/com/phishing/Services/AdminDashboardService.java
Other components
- User
- VirusTotal API
- Safe Browsing API
Connections 42
- User → Workspace router: opens
- Workspace router → Portal authentication: renders
- Workspace router → URL scanner: routes
- Workspace router → Email scanner: routes
- Workspace router → User dashboard: routes
- Workspace router → Admin dashboard: routes
- Portal authentication → API client: submits credentials
- API client → Auth endpoints: HTTP request
- Auth endpoints → Authentication: delegates auth
- Authentication → User repository: reads/writes users
- Authentication → JWT service: issues token
- URL scanner → API client: submits URL
- Email scanner → API client: submits email
- API client → URL endpoints: HTTP request
- API client → Email endpoints: HTTP request
- URL endpoints → URL analysis: calls
- URL analysis → URL checks: checks URL
- URL analysis → VirusTotal: submits URL
- URL analysis → Safe Browsing: checks URL
- URL analysis → Risk scoring: scores findings
- URL analysis → URL scan store: saves scan
- VirusTotal → VirusTotal API: queries
- Safe Browsing → Safe Browsing API: queries
- Email endpoints → Email analysis: calls
- Email analysis → Email checks: inspects content
- Email analysis → URL analysis: analyzes extracted URLs
- Email analysis → Email risk scoring: scores findings
- Email analysis → Email scan store: saves scan
- User dashboard → API client: requests data
- Admin dashboard → API client: requests data
- API client → History endpoints: HTTP request
- History endpoints → Unified history and reports: calls
- Unified history and reports → URL scan store: reads scans
- Unified history and reports → Email scan store: reads scans
- API client → User dashboard endpoints: HTTP request
- User dashboard endpoints → User dashboard metrics: delegates metrics
- API client → Admin endpoints: HTTP request
- Admin endpoints → Admin analytics: delegates analytics
- Admin analytics → URL scan store: reads scans
- Admin analytics → Email scan store: reads scans
- API client → User endpoints: HTTP request
- User endpoints → User management: delegates profile/admin