Skip to content

ResumeMatcher is an ASP.NET Core Razor Pages app for posting jobs, uploading CVs, and matching candidates to roles with scoring, shortlisting, and status workflows.

Notifications You must be signed in to change notification settings

TheManSkinny/ResumeMatcher

Repository files navigation

ResumeMatcher

An ASP.NET Core (Razor Pages) web app for posting jobs, uploading CVs, and matching job applications with rich review workflows (status changes, notes, shortlist, and match scores).

Features

Tech stack

  • .NET 9, ASP.NET Core Razor Pages
  • Entity Framework Core (SQL Server)
  • Bootstrap 5, Font Awesome, jQuery validation
  • VS Code tasks and assets for local development

Project structure (simplified)

ResumeMatcher/
  Controllers/
    JobApiController.cs
  Data/
    ResumeMatcherDbContext.cs
  Migrations/
  Pages/
    AddJob.cshtml
    Applications.cshtml
    Login.cshtml.cs
    Register.cshtml.cs
    AdminDashboard.cshtml
    Shared/_Layout.cshtml
  wwwroot/
    css/
      site.css
      typography.css
    js/
      site.js
  Program.cs
  appsettings.json

Getting started

Prerequisites:

  • .NET SDK 9
  • SQL Server (e.g., LocalDB/Express)

Setup:

  1. Set the database connection string in appsettings.json.
  2. Restore, migrate, and run:
dotnet restore
dotnet ef database update
dotnet run
  1. Open http://localhost:5000 (or the port shown in the output).

Optional:

  • Use the cleanup script to reset build artifacts: cleanup.ps1

Key files

API (example)

Update application status (used by Pages/Applications.cshtml):

  • POST /api/applications/{id}/status
  • Body:
{
  "status": "InterviewScheduled",
  "notes": "Candidate scheduled for 10/05 2pm"
}
  • Response:
{
  "success": true,
  "badgeClass": "badge-modern bg-info"
}

Development tips

# ResumeMatcher

An ASP.NET Core (Razor Pages) web app for posting jobs, uploading CVs, and matching job applications with rich review workflows (status changes, notes, shortlist, and match scores).

## Features
- User authentication with roles (JobSeeker, Admin) via [`ResumeMatcher.Pages.LoginModel`](Pages/Login.cshtml.cs) and [`ResumeMatcher.Pages.RegisterModel`](Pages/Register.cshtml.cs).
- Job posting with structured fields (requirements, responsibilities, salary, etc.) in [Pages/AddJob.cshtml](Pages/AddJob.cshtml).
- Candidate CV upload and management (migrations and UI hooks present).
- Applications dashboard with:
  - Match score badges and formatting in [Pages/Applications.cshtml](Pages/Applications.cshtml).
  - Status workflow (e.g., update status + notes) via API call.
  - Shortlist indicator and reviewed timestamps.
- Admin dashboard (role-protected) in [Pages/AdminDashboard.cshtml](Pages/AdminDashboard.cshtml).
- Clean, modern UI using Bootstrap 5, Font Awesome, and a custom typography system in [wwwroot/css/typography.css](wwwroot/css/typography.css) and [wwwroot/css/site.css](wwwroot/css/site.css).

## Tech stack
- .NET 9, ASP.NET Core Razor Pages
- Entity Framework Core (SQL Server)
- Bootstrap 5, Font Awesome, jQuery validation
- VS Code tasks and assets for local development

## Project structure (simplified)

ResumeMatcher/ Controllers/ JobApiController.cs Data/ ResumeMatcherDbContext.cs Migrations/ Pages/ AddJob.cshtml Applications.cshtml Login.cshtml.cs Register.cshtml.cs AdminDashboard.cshtml Shared/_Layout.cshtml wwwroot/ css/ site.css typography.css js/ site.js Program.cs appsettings.json


## Getting started
Prerequisites:
- .NET SDK 9
- SQL Server (e.g., LocalDB/Express)

Setup:
1) Set the database connection string in [appsettings.json](appsettings.json).
2) Restore, migrate, and run:
```bash
dotnet restore
dotnet ef database update
dotnet run
  1. Open http://localhost:5000 (or the port shown in the output).

Optional:

  • Use the cleanup script to reset build artifacts: cleanup.ps1

Key files

API (example)

Update application status (used by Pages/Applications.cshtml):

  • POST /api/applications/{id}/status
  • Body:
{
  "status": "InterviewScheduled",
  "notes": "Candidate scheduled for 10/05 2pm"
}
  • Response:
{
  "success": true,
  "badgeClass": "badge-modern bg-info"
}

Development tips

About

ResumeMatcher is an ASP.NET Core Razor Pages app for posting jobs, uploading CVs, and matching candidates to roles with scoring, shortlisting, and status workflows.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published