-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the CV Analyser Wiki! This document serves as a comprehensive knowledge base for developers, contributors, and curious users.
- Project Overview
- Architectural Principles
- Backend Deep Dive
- Frontend Design System
- Database Schema
- Security & Error Handling
- FAQ
CV Analyser is an enterprise-compliant Windows Forms application built on .NET Framework 4.8. It is designed to solve the problem of manual resume screening by automating the extraction and ranking process.
- Accuracy: Uses iTextSharp for high-fidelity text extraction.
- Speed: Batch processes hundreds of PDFs in seconds.
- Maintainability: Follows strict enterprise naming and structural governance.
The project adheres to several key engineering standards:
-
Layered Monolith: Strict separation between UI (
frontend/) and logic (backend/). -
Atomic Design: Shared UI logic extracted into "atoms" (
frontend/atoms/). -
Strict Naming Governance:
-
C_Snake_Case: Classes -
F_Snake_Case: Functions -
p_snake_case: Parameters -
SNAKE_CASE: Constants
-
- Region Management: Every file contains structured regions (HEADER, LIBRARIES, CLASSES, etc.).
-
app.cs: Centralized error handling, browser launch, and application constants. -
check.cs: Domain-specific validation logic (Email, Phone, Input patterns). -
mail.cs: SMTP wrapper for sending verification codes.
-
resume.cs: The "Brain". Handles PDF parsing, keyword normalization, and scoring algorithms. -
query_resume.cs: Data access layer for resume-specific SQL operations.
-
query_account.cs: Manages user sessions, registration, and credentials.
Each page (WinForm) is a standalone container for a specific feature set:
- Analyser: The primary workspace.
- Entry: Gateway for login and registration.
- Account/Password: Support modules for identity management.
Shared UI logic that isn't a full component. Example: C_Ui_Helper.F_Toggle_Eye() which handles password visibility globally.
The system uses SQL Server LocalDB with the following primary entities:
-
Username(PK) EmailPhone-
Password(Currently plaintext - see Roadmap)
-
ID(PK) FileNameFilePathScoreStatus
All external I/O (Database, File System, Network) is wrapped in try-catch blocks that pipe errors to C_App.F_Log_Error().
Configuration is pulled from App.config but exposed through C_Constants to ensure type safety and centralized modification.
A: The project was originally built on .NET Framework. While we have a Refactor Roadmap to migrate to .NET 8, 4.8 provides excellent stability for Windows desktop environments.
A: Logs are stored in a /logs folder relative to the executable path, organized by date.
- Website: beydahsaglam.com
- Email: info.beydahsaglam@gmail.com
- LinkedIn: beydah
- GitHub: beydah