SkillConnect Report
SkillConnect Report
A PROJECT REPORT
Submitted in Partial Fulfillment for the degree of
Bachelor of Technology in
ELECTRONICS & COMMUNICATION ENGINEERING
From
MAULANA ABUL KALAM AZAD UNIVERSITY OF TECHNOLOGY
Submitted by
CERTIFICATE
This is to certify that the project report entitled “SKILL CONNECT – A JOB APP” submitted by
“AMIT KUMAR SARKAR, ARGHYA PAL, RAHUL PRODHAN, SUBHAJIT MAITY” for 7th/8th
semester examination have been prepared for the partial fulfillment of the degree of Bachelor of
Technology in Electronics & Communication Engineering, awarded by the Maulana Abul Kalam
Azad University of Technology. They have carried out the project work under my supervision.
______________________________________ __________________________________
Dr. Pubali Mukherjee Dr. Satadal Saha
HEAD OF THE DEPARTMENT SUPERVISOR
Professor Professor
Electronics and Communication [Link]. Electronics and Communication [Link].
MCKV Institute of Engineering MCKV Institute of Engineering
243, G.T. Road (North), LILUAH 243, G.T. Road (North), LILUAH
HOWRAH – 711204 HOWRAH - 711204
i
Appendix 3
CERTIFICATE OF APPROVAL
This project report is hereby approved as a creditable study of an engineering subject carried out and
presented in a manner satisfactory to warrant its acceptance as a prerequisite to the degree for which
it has been submitted. It is to be understood that by this approval, the undersigned do not necessarily
endorse or approve any statement made, opinion expressed and conclusion drawn therein but approve
the project report only for the purpose for which it has been submitted.
Date of evaluation:
ii
Appendix 4
ACKNOWLEDGEMENT
It is always a pleasure to remind the fine people in the Engineering program for their sincere
guidance I received to uphold our practice as well as theoretical skills in engineering.
Firstly, we would like to thank Dr. Pubali Mukherjee, HOD (ECE) of MCKV Institute of
Engineering College, for meticulously planning the academic curriculum in such a way that
students are not only academically sound but also industry ready by including such projects.
We would also like to thank Dr. Satadal Saha for the positive attitude he showed during the
project learning session, always allowing us to question him and giving prompt replies for our
uncertainties in all the fields including educational and professional work. And we would like
to be grateful to our respected teachers for their valuable guidance. We would also express our
immense pleasure and a deep sense of gratitude for spending their valuable time with us and
helped us in the completion of this training.
iii
Appendix 5
ABSTRACT
The growing demand for efficient job search and recruitment platforms has highlighted the need for intelligent systems
capable of matching skilled candidates with relevant job opportunities. This project presents an AI-powered Job Portal
designed to bridge the gap between recruiters and job seekers through automated resume analysis, intelligent job
matching, and enhanced accessibility features. The system integrates advanced Artificial Intelligence techniques such
as Natural Language Processing (NLP), text embeddings, and semantic similarity search to evaluate resumes,
understand job descriptions, and recommend the most suitable matches. Unlike traditional keyword-based portals, this
platform uses deep-learning–based embeddings that analyze the contextual meaning of text, enabling more accurate
and relevant candidate–job matching.
The application allows candidates to create and maintain their profiles, upload resumes, and generate AI-assisted
professional CVs tailored to specific job roles. Recruiters can post job openings, review AI-ranked candidate lists,
and access portfolio links or resume versions stored in the system. To support inclusivity and reach a broader audience,
the application incorporates an OTP-based login system and offline access for users with keypad or non-smartphone
devices. Communication with such users is facilitated through SMS and phone-based notifications, ensuring equal
access to job-search services. Object storage such as Amazon S3 or DigitalOcean Spaces is employed to securely store
resumes and portfolio assets, while MongoDB is used to store text embeddings generated from resumes and job
descriptions for fast semantic search.
The AI engine plays a central role by converting candidate profiles and job descriptions into high-dimensional vector
embeddings, stored in a dedicated embedding repository. Matching is performed through cosine similarity, producing
ranked candidate lists and personalized job recommendations. The system supports real-time job alerts, application
tracking, and automated notifications, offering an end-to-end recruitment solution. Furthermore, every user interaction
is logged through an audit system to maintain transparency and accountability.
This project also aligns with Sustainable Development Goals (SDG 2: Zero Hunger) and (SDG 8: Decent Work and
Economic Growth). By improving access to employment opportunities, supporting talent recognition, and facilitating
fair recruitment, the platform contributes to socio-economic development and fosters improved livelihoods.
Additionally, the AI-driven resume generation and skill-based matching support job seekers from underprivileged
communities by helping them present their capabilities effectively.
Overall, this AI-Enabled Job Portal demonstrates a scalable, accessible, and inclusive solution to modern recruitment
challenges. Through the integration of AI, cloud storage, OTP authentication, database-driven design, and user-centric
features, the system provides an innovative approach to enhancing hiring efficiency and improving job accessibility
for diverse categories of users.
iv
Appendix 6
TABLE OF CONTENTS
CHAPTER TITLE PAGE
NO. NO.
i ABSTRACT iv
ii LIST OF TABLES v
iii LIST OF FIGURES v
1 INTRODUCTION 1-2
1.1 Background of the Study 1
1.2 Problem Statement 1
1.3 Objectives of the Project 1
1.4 Scope of the Project 2
1.5 Relevance to Sustainable Development Goals (SDGs) 2
2 SYSTEM DESIGN AND METHODOLOGY 3-9
2.1 Introduction 3
2.2 System Architecture Overview 3
2.3 Modular Design 3
2.3.1 User Management Module 3
2.3.2 Job Management Module 3
2.3.3 Resume Module 4
2.3.4 AI Matching Engine 4
2.3.5 Notification/SMS Module 4
2.3.6 Security and Audit Module 4
2.4 System Workflow 4
2.4.1 Candidate Workflow 4
2.4.2 Recruiter Workflow 5
2.5 ER Diagram Explanation 5
2.5.1 Parent-Child entity Relationship with Cardinality 6-8
2.6 Data Flow Diagrams 8
2.6.1 Level – 0 (Context) 8
2.6.2 Level – 1 (Top level process) 8
2.6.3 Level – 2A (AI Engine) 9
2.6.4 Level – 2B (Authentication/OTP/Offline Access) 9
2.7 AI Integration Design 9
2.7.1 Resume Embedding 9
2.7.2 Job Embedding 9
2.7.3 Matching Algorithm 9
2.7.4 Resume Generator 9
3 IMPLEMENTATION 10-19
3.1 Introduction 10
3.2 Frontend Implementation ([Link]) 10
3.2.1 Pages Developed 10-14
3.2.2 Technologies Used 15
3.3 Backend Implementation ([Link] and [Link]) 15 – 16
3.3.1 Controllers (Business Logic Layer) 15
3.3.2 Middleware (Request Processing Layer) 15
v
3.3.3 Models (Database Layer) 15
vi
Appendix 7
LIST OF TABLES
Appendix 8
LIST OF FIGURES
vii
CHAPTER 1: INTRODUCTION
Technology has significantly transformed recruitment processes across industries. Traditional job portals rely
heavily on keyword matching, static filters, and manual screening, resulting in inefficiencies and mismatch between
job requirements and applicant capabilities. Modern recruitment demands platforms that can understand human
language, analyze candidate competencies, and intelligently match them with suitable job roles. Artificial Intelligence
(AI), powered by Natural Language Processing (NLP) and text embeddings, presents a transformative solution to this
challenge.
This project focuses on developing an AI-powered Job Portal capable of automating resume analysis, generating
professional CVs, matching candidates with job postings, and assisting recruiters in identifying relevant profiles
quickly. The system also aims to support users without smartphones through SMS-based login and communication,
making it inclusive and accessible.
2
CHAPTER 2: SYSTEM DESIGN AND METHODOLOGY
2.1 Introduction
This chapter describes the overall design of the AI-powered Job Portal system, covering architecture, workflows,
database design, AI integration, and the methodologies used. It explains how various modules interact, how data flows
through the system, and how AI is applied for resume generation and job matching.
3
2.3.3 Resume Module
• Resume upload
• AI resume generator
• Resume parsing
• Version control (resume_version collection)
Enters phone
Receives OTP Logs in
number
Receives
notifications
regarding status
4
2.4.2 Recruiter Workflow
FIGURE 3: ER - Diagram
5
2.5.1 Parent-Child entity Relationship with Cardinality
Parent Child Entity Relationshi Foreign Key in Child Cardinalit On Delete Descriptio
Entity p Type y Action n
users recruiter One-to-One recruiter.recruiter_id 1↔1 CASCAD Each
E recruiter is
a user with
recruiter-
specific
details.
users candidate One-to-One candidate.candidate_id 1↔1 CASCAD Each
E candidate is
a user with
candidate-
specific
details.
company recruiter One-to- recruiter.company_id 1↔N SET A company
Many NULL can have
multiple
recruiters.
candidat resume_versio One-to- resume_version.candidate_ 1↔N CASCAD A candidate
e n Many id E can have
multiple
resume
versions.
recruiter job_post One-to- job_post.recruiter_id 1↔N SET Each
Many NULL recruiter
can post
multiple
jobs.
company job_post One-to- job_post.company_id 1↔N SET A company
Many NULL can have
multiple job
posts.
job_post application One-to- application.job_id 1↔N CASCAD A job can
Many E have many
applications
.
candidat application One-to- application.candidate_id 1↔N CASCAD A candidate
e Many E can apply to
multiple
jobs.
candidat candidate_skil One-to- candidate_skill.candidate_i 1↔N CASCAD A candidate
e l Many d E can have
multiple
skills.
skill candidate_skil One-to- candidate_skill.skill_id 1↔N CASCAD A skill can
l Many E belong to
multiple
candidates.
6
Parent Child Entity Relationshi Foreign Key in Child Cardinalit On Delete Description
Entity p Type y Action
job_post job_skill One-to- job_skill.job_id 1↔N CASCAD A job post
Many E can have
multiple
required
skills.
skill job_skill One-to- job_skill.skill_id 1↔N CASCAD A skill can
Many E be required
for multiple
jobs.
candidat saved_jobs One-to- saved_jobs.candidate_id 1↔N CASCAD A candidate
e Many E can save
multiple
jobs.
job_post saved_jobs One-to- saved_jobs.job_id 1↔N CASCAD A job can be
Many E saved by
multiple
candidates.
users notification One-to- notification.user_id 1↔N CASCAD Each user
Many E can receive
multiple
notifications
.
candidat review One-to- review.candidate_id 1↔N CASCAD A candidate
e Many E can post
multiple
reviews.
company review One-to- review.company_id 1↔N CASCAD A company
Many E can receive
multiple
reviews.
users sms_log One-to- sms_log.user_id 1↔N CASCAD A user can
Many E have
multiple
SMS logs.
users otp_session One-to- otp_session.user_id 1↔N CASCAD Each user
Many E can have
multiple
OTP
sessions.
users audit_log One-to- audit_log.user_id 1↔N SET Each user’s
Many NULL actions are
tracked in
audit logs.
candidat embedding_stor One-to- embedding_store.entity_i 1↔N — Embeddings
e e Many (by d can belong
entity to
reference) candidates.
7
Parent Entity Child Entity Relationshi Foreign Key in Child Cardinalit On Descriptio
p Type y Delete n
Actio
n
job_post embedding_stor One-to- embedding_store.entity_ 1 ↔ N — Embedding
e Many (by id s can
entity belong to
reference) jobs.
resume_versio embedding_stor One-to- embedding_store.entity_ 1 ↔ N — Embedding
n e Many (by id s can
entity belong to
reference) resumes.
TABLE- 1: Parent-Child Entity Relationship and Cardinality Table
8
2.6.3 Level – 2A (AI Engine)
9
CHAPTER 4: IMPLEMENTATION
3.1 Introduction
This chapter focuses on how the job portal is actually built—front-end implementation, back-end logic, database
creation, API development, AI functions, and deployment.
• Signup Page
10
• Home Page
11
• Browse Page
12
• Job Listing Page for Recruiter Side
13
• Applicants Page for The Particular Job
14
3.2.2 Technologies Used
• [Link]
• Bootstrap
• Application Controller
Manages job application-related operations such as applying for jobs, retrieving applications, and
tracking status.
• User Controller
Handles user authentication and profile management (registration, login, update profile, etc.).
• Job Controller
Manages job postings including creating, updating, deleting, and fetching job listings.
• Company Controller
Handles company-related data such as company registration, profile updates, and job postings under a
company.
• isAuthenticated
Verifies user authentication (typically using JWT tokens). Ensures only authorized users can access
protected routes.
• Multer (File Upload Middleware)
Handles file uploads (e.g., resumes, company logos) and processes multipart/form-data requests.
• User Model
Stores user details like name, email, password, role, and profile information.
• Job Model
Contains job-related data such as title, description, salary, location, and company reference.
• Company Model
Stores company details like name, description, logo, and associated jobs.
• Application Model
Tracks job applications including applicant details, job reference, and application status.
15
• User Routes → /api/users
Handles authentication and user management endpoints.
• Job Routes → /api/jobs
Provides endpoints for job CRUD operations.
• Company Routes → /api/company
Manages company-related API calls.
• Application Routes → /api/application
Handles job application-related requests.
• [Link]
Establishes connection with the MongoDB database using Mongoose.
• Cloudinary
Integrates cloud storage for uploading and managing media files like images and resumes.
• DataURI
Converts file data into URI format for easy upload to Cloudinary.
The backend of the Skill Connect App is built using modern JavaScript technologies and follows a scalable
RESTful architecture.
Core Technologies
• [Link]
Provides a server-side runtime environment to execute JavaScript and handle asynchronous operations
efficiently.
• [Link]
Lightweight web framework used to build REST APIs, manage routes, and handle HTTP
requests/responses.
16
Database & ORM
• MongoDB
NoSQL database used to store application data in flexible, JSON-like documents.
• Mongoose
Object Data Modeling (ODM) library used to define schemas, enforce validation, and interact with
MongoDB.
• Multer
Handles multipart/form-data for uploading files such as resumes and images.
• Cloudinary
Stores and manages uploaded media files in the cloud.
Development Tools
• Nodemon
Automatically restarts the server during development when file changes are detected.
• Postman
Used for testing and validating API endpoints.
API Architecture
• RESTful API design using HTTP methods (GET, POST, PUT, DELETE)
• JSON-based data exchange between client and server
17
3.3 Database Implementation (MongoDB)
Collections implemented:
• Users
import mongoose, { Schema } from "mongoose";
const userRegisterSchema = new Schema(
{
username: {
type: String,
required: true,
lowercase: true,
},
fullName: {
type: String,
required: true,
},
email: {
type: String,
required: true,
lowercase: true,
},
phoneNo: {
type: String,
required: true,
},
userType: {
type: String,
enum: ["PENDDING", "SUCCESSFUL", "REJECTED"],
default: "PENDDING",
},
CV: {
type: String,
required: true,
},
},
{ timestamps: true }
);
export const CompanyRegisterSchema = [Link]("User", userRegisterSchema);
• Company
import mongoose, { Schema } from "mongoose";
const companyRegisterSchema = new Schema(
{
companyName: {
type: String,
required: true,
},
owner: {
type: String,
required: true,
},
companyType: {
type: String,
18
required: true,
},
companyWebsite: {
type: String,
},
location: {
type: String,
required: true,
},
},
{ timestamps: true }
);
export const CompanyRegisterSchema = [Link](
"Company",
companyRegisterSchema
);
• Job_post
import mongoose, { Schema } from "mongoose";
const jobSchema = new Schema(
{
recruiterID: {
type: [Link],
ref: "Recruiter",
required: true,
},
companyID: {
type: [Link],
ref: "Company",
required: true,
},
jobTitle: {
type: String,
required: true,
},
jobDescription: {
type: String,
required: true,
},
location: {
type: String,
required: true,
},
applicationDeadline: {
type: Date,
required: true,
},
jobStatus: {
type: String,
enum: ["PENDDING", "SUCCESSFUL", "REJECTED"],
required: true,
default: "PENDDING",
},
19
},
{ timestamps: true }
);
export const CompanyRegisterSchema = [Link]("Jobs", jobSchema);
CHAPTER 4: CONCLUSION
4.1 Conclusion
This project successfully develops an AI-powered Job Portal capable of intelligent resume analysis, job matching, and
recruiter support. It integrates advanced NLP and embedding models to deliver personalized job recommendations
and efficient candidate ranking. The inclusion of OTP login and SMS-based features ensures accessibility even for
users without smartphones, making the system socially impactful and inclusive.
The system also contributes to:
• SDG 8 by promoting employment and economic growth
• SDG 2 by indirectly reducing hunger through increased employment opportunities
The portal demonstrates the power of AI in transforming traditional recruitment into a faster, more accurate, and fair
system.
4.2 Limitations
Current limitations:
• AI models require external API usage (cost involved)
• Embedding search complexity increases with large datasets
• SMS offline mode cannot support complex interactions
• Resume parsing accuracy may vary based on file format
20
REFERENCES
21