How bur073/cvanalyser works
Smart CV Analyzer is a console recruitment-screening application. A recruiter registers or logs in, enters a job description, uploads one or more CV files, and views candidates ranked against the saved requirements. The main domain stages are session access, job/CV intake, NLP extraction, repository state, scoring, and result presentation. Sampled code confirms menu orchestration, JDBC authentication, CV extraction, regex/skill matching, and in-memory records; several UI/action implementations are represented from the tree and generated API index.
Components 25
Console Interaction
- Application Entry
src/main/java/com/trackgenesis/main/Main.java - Menu Orchestrator
src/main/java/com/trackgenesis/UI/Menu.java - Login UI
src/main/java/com/trackgenesis/UI/Login.java - Register UI
src/main/java/com/trackgenesis/UI/Register.java - Job Input UI
src/main/java/com/trackgenesis/UI/JobDescription.java - CV Upload UI
src/main/java/com/trackgenesis/UI/UploadCV.java - Ranked Results UI
src/main/java/com/trackgenesis/UI/ViewRankedCVs.java - Login Action
src/main/java/com/trackgenesis/menuActions/loggedOut/UserLoginAction.java - Register Action
src/main/java/com/trackgenesis/menuActions/loggedOut/UserRegisterAction.java - Job Upload Action
src/main/java/com/trackgenesis/menuActions/loggedIn/JobDescriptionUploadAction.java - CV Upload Action
src/main/java/com/trackgenesis/menuActions/loggedIn/UploadCVAction.java - Ranking Action
src/main/java/com/trackgenesis/menuActions/loggedIn/ViewRankedCVsAction.java
Authentication
- Login Authentication
src/main/java/com/trackgenesis/auth/LoginAuth.java - Registration Authentication
src/main/java/com/trackgenesis/auth/RegisterAuth.java - User Database
CV Analysis
- Job NLP
src/main/java/com/trackgenesis/NLP/JobDescriptionNLP.java - CV NLP
src/main/java/com/trackgenesis/NLP/CVsNLP.java - Text Matching
src/main/java/com/trackgenesis/util/FindInText.java - File Reader
src/main/java/com/trackgenesis/util/FileReaderUtility.java - CV Ranking
src/main/java/com/trackgenesis/NLP/CVRanking.java
Records And Results
- Record Repository
src/main/java/com/trackgenesis/records/RecordRepository.java - Job Record
src/main/java/com/trackgenesis/records/JobDescriptionRecord.java - CV Record
src/main/java/com/trackgenesis/records/CVRecord.java - CV Score
src/main/java/com/trackgenesis/records/CVScore.java
Other components
- Recruiter
Connections 28
- Recruiter → Application Entry: starts
- Application Entry → Menu Orchestrator: creates
- Menu Orchestrator → Login Action: dispatches
- Menu Orchestrator → Register Action: dispatches
- Menu Orchestrator → Job Upload Action: dispatches
- Menu Orchestrator → CV Upload Action: dispatches
- Menu Orchestrator → Ranking Action: dispatches
- Login Action → Login UI: opens
- Register Action → Register UI: opens
- Job Upload Action → Job Input UI: opens
- CV Upload Action → CV Upload UI: opens
- Ranking Action → Ranked Results UI: opens
- Login UI → Login Authentication: authenticates
- Register UI → Registration Authentication: registers
- Login Authentication → User Database: reads users
- Registration Authentication → User Database: writes users
- Job Input UI → Job NLP: parses text
- Job NLP → Record Repository: saves job
- CV Upload Action → CV NLP: processes files
- CV NLP → File Reader: reads files
- CV NLP → Text Matching: extracts fields
- CV NLP → Record Repository: saves CVs
- Ranking Action → CV Ranking: calculates scores
- CV Ranking → Record Repository: reads records
- CV Ranking → CV Score: produces scores
- Ranked Results UI → Record Repository: reads results
- Record Repository → Job Record: stores job
- Record Repository → CV Record: stores CVs