1
PROJECT REPORT
On
RESUME/CV BUILDER
By
Group PAD
Department of computer science and Engineering
Siwan college of Engineering &Management,
Siwan, BIHAR
Bihar Engineering University
Submitted for the partial fulfilment
of the requirement for the award of
Degree of
BATCHLOR’S OF TECHNOLOGY
B-tech 7th semester
JAN,2025
2
CERTIFICATE
This is to certify that Project Report entitled “RESUME/CV
BUILDER” which is submitted By, Prashant kumar, Arshad imam,
Deepak kumar in partial fulfilment of the requirement for the award
of degree in 7th semester in department of computer Science &
Engineering of Siwan College of Engineering& Management, is a
record of the candidate own work carried out by him under my/our
supervision. The matter embodied for the award of any other degree.
Signature of Internal Examiner Signature of External Examiner
Signature of HOD
3
DECLARATION
I hereby declare that this submission is my own work and that, to the
best of my knowledge and belief, it contains no material previously
published or written by another person nor material which to a
substantial extent has been accepted for the award of any other
degree or diploma of the university or other institute of higher
learning, except where due acknowledgment has been made in the
text.
PRASHANT KUMAR (21CSE01)
ARSHAD IMAM (21CSE10)
DEEPAK KUMAR (22LECSE02)
4
ACKNOWLEDGMENT
It gives us immense pleasure in submitting the minor project report
on “Resume/CV Builder” in partial fulfilment of the requirement for
the award of degree in 7th semester in department of computer Science
& Engineering of Siwan College of Engineering& Management.
First of all, we wish to express our sincere gratitude to my B-Tech
faculty for allowing us to work on this report. we are also thankful to
my college Siwan College of Engineering& Management, Siwan
Bihar its staff who render their help during the period of my project
work and provided me all privileges. we are highly grateful to our
project guide Mr Mahfooz Ahamad for his encouragement guidance
and valuable suggestions which we incorporated in our report. we are
also grateful to respectful teacher for helping us in the report
finalization process and showing the confidence in us.
Thanking you
Prashant kumar(9135129750)
Arshad imam(7079724493)
Deepak kumar (6207650039)
5
TABLE OF CONTENTS
List of items Page number
1. Acknowledgement_______________________________________4
2. Abstract 6
3. Introduction 7
4. Software and Hardware Requirements--------------------------------8
5. System Analysis and Design 9-10
6. Snapshots 11-20
7. Conclusion and Future Work 21
8. References 22
6
ABSTRACT
The Resume Builder web application is a cutting-edge tool designed to
revolutionize the process of creating personalized and compelling resumes.
With an intuitive user interface and advanced features, this application
empowers job seekers to craft resumes that stand out from the competition
and effectively showcase their skills and experiences.
This web application offers a seamless and user-friendly experience, guiding
individuals through the resume creation process from start to finish. Users can
easily enter their personal information, educational background, work history,
and professional achievements into pre-designed templates that adhere to
industry standards and best practices.
The Resume Builder application provides a wide range of customization options,
allowing users to choose from a diverse selection of fonts, colour schemes, and
formatting styles to match their individual preferences and target industries.
Moreover, it offers tailored sections for highlighting key skills, certifications,
and projects, ensuring that each resume is uniquely tailored to the user's
professional profile.
7
Introduction:
Resume builder, where crafting your professional story is made simple and
effective. We understand the significance of a well-crafted resume in today's
competitive job market. Whether you're a seasoned professional looking to
advance your career or a recent graduate stepping into the workforce for the
first time, we're here to empower you with the tools to create a standout
resume that opens doors to your desired opportunities.
At Resume builder, we believe in streamlining the resume building process
without compromising on quality. Our user-friendly interface is designed to
guide you through every step, ensuring that your resume showcases your skills,
experiences, and achievements in the best possible light. With a wide range of
professionally designed templates to choose from, you can customize your
resume to reflect your unique personality and professional style.
Forget the hassle of formatting and layout concerns – our intuitive platform
takes care of it all, allowing you to focus on what truly matters: crafting
compelling content that resonates with employers. Whether you're in finance,
technology, healthcare, or any other industry, our resume builder is equipped
with industry- specific keywords and phrases to help your resume pass through
applicant tracking systems and catch the attention of hiring managers.
Resume is the f i rst meeting between you and a
prospective employer more often now than ever. So
how do you want to be remembered? Wrinkled and
unorganised. Neat and structured. Long and boring.
Precise and Interesting. Companies do not have the t
ime to interview every applicant that is interested in
the job. If they did, there would not be a company to
work for they use an e l iminating process that' s r ight
resumes.
Building System provides the user the popular resume format and a better way
to show their resume to the employers. A job seeker does need to attach a
resume with every email he/she it makes easy to build a resume in less amount
of time. Fill all the requirement information in the form and it build a resume
page for you.
8
Software Requirements:
Operating System: Windows 10/11 or
Linux User Interface: HTML, CSS
Client-side Scripting: JavaScript
Programming Language: Java
Web Technologies’, Servlets, JSP
IDE/Workbench: My Eclipse (Luna)
Hardware Requirements:
Processor: 11th Gen Intel(R) Core (TM) i3-1125G4 @
2.00GHz
2.00 GHz Hard
System type: 64-bit operating system, x64-based
processor RAM: 8GB or more
9
System Analysis & Design
Introduction
Analysis is the focus of system developing and is the stage
when system designers have to work at two levels of definition
regarding the study of situational issues and possible solutions
in terms of “what to do” and “how to do”.
DEFINITION OF THE SYSTEM
A system is an orderly grouping of independent components
linked together according to a plan to achieve a specific
objective. Its main characteristics are organization, interaction,
independent, integration and central objective a system does
not necessarily mean to a computer system. It may be a
manual system or any other names.
NEEDS OF THE SYSTEM
Social and economic factor: a wave of social and economic
changes often follows in the wake of the new technology. New
opportunities may arise to improve on a production process or
to do something that was not previously possible. Changes in
the ways individuals are organized into groups may then be
necessary, and the new groups may complete for economic
resources with established units.
Technological factor: people have never before in a time when
the scope of scientific inquiry was so broad, so when the speed
of applying the new technology accounts for many changes in
the organization.
High level decisions and operating processes:
in response to technological, socio-economic factors, top level
managers may decide to recognize operations and
System analysis
System Analysis is a process by which we attribute process or
goals to a human activity, determine how well those purpose
are being achieved and specify the requirements of the various
tools and techniques that are to be used within the system if
the system performances are to be achieved.
10
PRELIMINARY INVESTIGATION
The initial investigation has the objective of determining the
validity of the user’s request for a candidate system and
whether a feasibility study should be conducted. The objectives
of the problem posed by the user must be understood within
the framework of the organization’s MIS plan. I had investigated
from the concerned authority about the project.
INFORMATION GATHERING
A key part of feasibility analysis is gathering information about
the present system. The analyst must know what information to
gather, where to find it, how to collect it, and what to make of
it. The proper use of tools for gathering information is the key
to successful analysis. The tools are the traditional interview,
questionnaires, and on-site observation.
STRUCTURED ANALYSIS
The traditional tools of data gathering have limitations. An
English narrative description is often vague and difficult for the
user to grasp. System flowcharts focus more on physical than
on logical implementation of the candidate system. Because of
these drawbacks, structured tools were introduced for analysis.
Structured analysis is a set of techniques and graphical tools
(DFD) that allow the analyst to develop a new kind of system
specifications that are easily understandable to the user.
11
Snapshots:
Code for UI (User interface):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Resume Builder</title>
<link rel="stylesheet" href="assets/css/[Link]">
</head>
<body>
<nav class="navbar bg-white">
<div class="container">
<div class="navbar-content">
<div class="navbar-and-toggler">
<a href="[Link]" class="navbar-brand">
<img src="assets/images/[Link]" alt="" class="navbar-brand-icon">
<span class="navbar-brand-text">build <span>resume.</span></span>
</a>
<button type="button" class="navbar-toggler-bars">
<div class="bars">
<div class="bar"></div>
<div class="bar"></div>
<div class="bar"></div>
</div>
</button>
</div>
</div>
</div>
</nav>
<header class="header bg-bright" id="header">
<div class="container">
<div class="header-content text-center">
<h6 class="text-uppercase text-blue-dark fs-14 fw-6 ls-1">Online resume builder
application</h6>
<h1 class="lg-title">Only 2% of resumes make it pass the first [Link] int he top 2%</h1>
<p class="text-dark fs-18">Use professional field-tested resume templates that follow that
exact
'resume
rules' employers look for. Easy to use and done within minutes - try now for free!</p>
<a href="[Link]" class="btn btn-primary text-uppercase">Create my resume</a>
<img src="assets/images/Screenshot 2024-04-23 [Link]" alt="">
</div>
</div>
</header>
<div class="section-one">
<div class="container">
<div class = "section-one-content">
<div class="section-one-l">
<img src = "assets/images/visual-
[Link]">
</div>
<div class = "section-one-r text-center">
<h2 class = "lg-title">Use the best resume maker as your guide!</h2>
<p class = "text">Getting that dream job can seem like an impossible task. We're here to
change that. Give yourself a real advantage with the best online resume maker: created by experts,
imporved by data, trusted by millions of professionals.</p>
<div class = "btn-group">
<a href = "[Link]" class = "btn btn-primary text-uppercase">create my resume</a>
<a href = "/assets/js/[Link]" class = "btn btn-secondary text-uppercase">See
Demo</a>
</div>
</div>
</div>
</div>
</div>
12
<div class = "section-two bg-bright">
<div class="container">
<div class="section-two-content">
<div class = "section-items">
<div class = "section-item">
<div class = "section-item-icon">
<img src = "assets/images/feature-1-
[Link]" alt = "">
</div>
<h5 class = "section-item-title">Make a resume that wins interviews!</h5>
<p class = "text">Use our resume maker with its advanced creation tools to tell
professional story that engages recruiters, hiring managers and even CEOs.</p>
</div>
<div class = "section-item">
<div class = "section-item-icon">
<img src = "assets/images/feature-2-
[Link]" alt = "">
</div>
<h5 class = "section-item-title">Resume writing made easy!</h5>
<p class = "text">Resume writing has never been this effortless. Pre-generated text,
visual designs and more - all already integrated into the resume maker. Just fill in your details.</p>
</div>
<div class = "section-item">
<div class = "section-item-icon">
<img src = "assets/images/feature-3-
[Link]" alt = "">
</div>
<h5 class = "section-item-title">A recruiter-tested CV maker tool</h5>
<p class = "text">Our resume builder and its pre-generated content are tested by
recruiters and IT experts. We help your CV become truly competitive in the hiring process.</p>
</div>
</div>
</div>
</div>
</div>
<footer class = "footer bg-dark">
<div class="container">
<div class = "footer-content text-center">
<p class="fs-15">©Copyright 2024. All Rights Reserved - <span>…..</span></p>
</div>
</div>
</footer>
</body>
</html>
13
UI Page:
14
Filling Details:
15
Demo Resume Page
JavaScript code :
// regex for validation
const strRegex = /^[a-zA-Z\s]*$/; // containing only letters
const emailRegex = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]
{1,3}\.[0- 9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
const phoneRegex = /^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/im;
/* supports following number formats - (123) 456-7890, (123)456-7890, 123-456-7890, 123.456.7890,
1234567890,
+31636363634, 075-63546725 */
const digitRegex = /^\d+$/;
const mainForm = [Link]('cv-
form'); const validType = {
TEXT: 'text',
TEXT_EMP:
'text_emp', EMAIL:
'email', DIGIT:
'digit', PHONENO:
'phoneno', ANY:
'any',
}
// user inputs elements
let firstnameElem = [Link],
middlenameElem = [Link],
lastnameElem = [Link],
16
designationElem =
[Link], addressElem =
[Link], emailElem =
[Link],
phonenoElem = [Link],
summaryElem = [Link];
// display elements
let nameDsp =
[Link]('fullname_dsp'), imageDsp
= [Link]('image_dsp'),
phonenoDsp =
[Link]('phoneno_dsp'), emailDsp
= [Link]('email_dsp'),
addressDsp =
[Link]('address_dsp'),
designationDsp =
[Link]('designation_dsp'), summaryDsp =
[Link]('summary_dsp'), projectsDsp =
[Link]('projects_dsp'), achievementsDsp
= [Link]('achievements_dsp'), skillsDsp
= [Link]('skills_dsp'), educationsDsp =
[Link]('educations_dsp'), experiencesDsp
= [Link]('experiences_dsp');
// first value is for the attributes and second one passes the
nodelists const fetchValues = (attrs, ...nodeLists) => {
let elemsAttrsCount =
[Link]; let elemsDataCount =
nodeLists[0].length; let tempDataArr =
[];
// first loop deals with the no of repeaters
value for(let i = 0; i < elemsDataCount; i++){
let dataObj = {}; // creating an empty object to fill the data
// second loop fetches the data for each repeaters value or
attributes for(let j = 0; j < elemsAttrsCount; j++){
// setting the key name for the object and fill it with
data dataObj[`${attrs[j]}`] = nodeLists[j][i].value;
}
[Link](dataObj);
}
return tempDataArr;
}
const getUserInputs = () => {
// achivements
let achievementsTitleElem = [Link]('.achieve_title'),
achievementsDescriptionElem = [Link]('.achieve_description');
// experiences
let expTitleElem = [Link]('.exp_title'),
expOrganizationElem = [Link]('.exp_organization'),
expLocationElem = [Link]('.exp_location'),
expStartDateElem = [Link]('.exp_start_date'),
expEndDateElem = [Link]('.exp_end_date'),
expDescriptionElem = [Link]('.exp_description');
// education
let eduSchoolElem = [Link]('.edu_school'),
eduDegreeElem = [Link]('.edu_degree'),
eduCityElem = [Link]('.edu_city'),
eduStartDateElem =
[Link]('.edu_start_date'),
eduGraduationDateElem =
[Link]('.edu_graduation_date'), eduDescriptionElem
= [Link]('.edu_description');
let projTitleElem = [Link]('.proj_title'),
projLinkElem = [Link]('.proj_link'),
projDescriptionElem =
[Link]('.proj_description');
let skillElem = [Link]('.skill');
// event listeners for form validation
[Link]('keyup', (e) => validateFormData([Link], [Link], 'First Name'));
[Link]('keyup', (e) => validateFormData([Link], validType.TEXT_EMP, 'Middle
Name')); [Link]('keyup', (e) => validateFormData([Link], [Link], 'Last
Name')); [Link]('keyup', (e) => validateFormData([Link], [Link], 'Phone
Number')); [Link]('keyup', (e) => validateFormData([Link], [Link],
'Email')); [Link]('keyup', (e) => validateFormData([Link], [Link],
17
'Address')); [Link]('keyup', (e) => validateFormData([Link], [Link],
'Designation'));
18
[Link](item => [Link]('keyup', (e) =>
validateFormData([Link], [Link], 'Title')));
[Link](item => [Link]('keyup', (e) =>
validateFormData([Link], [Link], 'Description')));
[Link](item => [Link]('keyup', (e) => validateFormData([Link],
[Link], 'Title')));
[Link](item => [Link]('keyup', (e) => validateFormData([Link],
[Link], 'Organization')));
[Link](item => [Link]('keyup', (e) => validateFormData([Link],
[Link], "Location")));
[Link](item => [Link]('blur', (e) => validateFormData([Link],
[Link], 'End Date')));
[Link](item => [Link]('keyup', (e) => validateFormData([Link],
[Link], 'End Date')));
[Link](item => [Link]('keyup', (e) => validateFormData([Link],
[Link], 'Description')));
[Link](item => [Link]('keyup', (e) => validateFormData([Link],
[Link], 'School')));
[Link](item => [Link]('keyup', (e) => validateFormData([Link],
[Link], 'Degree')));
[Link](item => [Link]('keyup', (e) => validateFormData([Link],
[Link], 'City')));
[Link](item => [Link]('blur', (e) => validateFormData([Link],
[Link], 'Start Date')));
[Link](item => [Link]('blur', (e) =>
validateFormData([Link], [Link], 'Graduation Date')));
[Link](item => [Link]('keyup', (e) => validateFormData([Link],
[Link], 'Description')));
[Link](item => [Link]('keyup', (e) => validateFormData([Link],
[Link], 'Title')));
[Link](item => [Link]('keyup', (e) => validateFormData([Link],
[Link], 'Link')));
[Link](item => [Link]('keyup', (e) => validateFormData([Link],
[Link], 'Description')));
[Link](item => [Link]('keyup', (e) => validateFormData([Link],
[Link], 'skill')));
return {
firstname: [Link],
middlename:
[Link], lastname:
[Link], designation:
[Link], address:
[Link],
email: [Link],
phoneno: [Link],
summary: [Link],
achievements: fetchValues(['achieve_title', 'achieve_description'], achievementsTitleElem,
achievementsDescriptionElem),
experiences: fetchValues(['exp_title', 'exp_organization', 'exp_location', 'exp_start_date',
'exp_end_date', 'exp_description'], expTitleElem, expOrganizationElem, expLocationElem, expStartDateElem,
expEndDateElem, expDescriptionElem),
educations: fetchValues(['edu_school', 'edu_degree', 'edu_city', 'edu_start_date',
'edu_graduation_date', 'edu_description'], eduSchoolElem, eduDegreeElem, eduCityElem, eduStartDateElem,
eduGraduationDateElem, eduDescriptionElem),
projects: fetchValues(['proj_title', 'proj_link', 'proj_description'], projTitleElem, projLinkElem,
projDescriptionElem),
skills: fetchValues(['skill'], skillElem)
}
};
function validateFormData(elem, elemType, elemName){
// checking for text string and non empty string
if(elemType == [Link]){
if( || [Link]().length == 0) addErrMsg(elem,
elemName); else removeErrMsg(elem);
}
// checking for only text string
if(elemType == validType.TEXT_EMP){
if() addErrMsg(elem,
elemName); else removeErrMsg(elem);
}
// checking for email
if(elemType ==
[Link]){
if( || [Link]().length == 0) addErrMsg(elem,
elemName); else removeErrMsg(elem);
19
// checking for phone number
if(elemType ==
[Link]){
if( || [Link]().length == 0) addErrMsg(elem,
elemName); else removeErrMsg(elem);
}
// checking for only empty
if(elemType == [Link]){
if([Link]().length == 0) addErrMsg(elem,
elemName); else removeErrMsg(elem);
}
}
// adding the invalid text
function addErrMsg(formElem, formElemName){
[Link] = `${formElemName} is invalid`;
}
// removing the invalid text
function removeErrMsg(formElem){
[Link] = "";
}
// show the list data
const showListData = (listData, listContainer) => {
[Link] = "";
[Link](listItem => {
let itemElem =
[Link]('div');
[Link]('preview-item');
for(const key in listItem){
let subItemElem =
[Link]('span');
[Link]('preview-item-
val'); [Link] = `$
{listItem[key]}`;
[Link](subItemElem);
}
[Link](itemElem);
})
}
const displayCV = (userData) => {
[Link] = [Link] + " " + [Link] + " " + [Link];
[Link] = [Link];
[Link] = [Link];
[Link] = [Link];
[Link] = [Link];
[Link] = [Link];
showListData([Link], projectsDsp);
showListData([Link],
achievementsDsp); showListData([Link],
skillsDsp); showListData([Link],
educationsDsp);
showListData([Link],
experiencesDsp);
}
// generate CV
const generateCV = () => {
let userData = getUserInputs();
displayCV(userData);
[Link](userData);
}
function previewImage(){
let oFReader = new FileReader();
[Link]([Link][0]);
[Link] = function(ofEvent){
[Link] = [Link];
}
}
// print CV
function
printCV(){
[Link]();
}
11
0
// form repeater
$(document).ready(function(){
$('.repeater').repeater({
initEmpty: false,
defaultValues: {
'text-input': ''
},
show:function(){
$(this).slideDown();
},
hide: function(deleteElement){
$(this).slideUp(deleteElement);
setTimeout(() => {
generateCV();
}, 500);
},
isFirstItemUndeletable: true
})
})
20
Generated Resume:
21
Conclusion
The central concept of the application is to allow the customer to use banking
facilities virtually using the Internet and allow customers to carry out
transactions without ever going to the bank. The information pertaining to the
customers are stores on an RDBMS at the server side (store). The Server
process the customers’ requests and proceeds accordingly. The application was
designed to reduce clerical work as most of the work done by computer.
Provide greater speed and reduce time consumption. Anywhere banking with
higher limits. Daily account balance alerts.
Online Resume Builder is for computerizing the working of building
resumes. The software takes care of all the requirements of the process
and is capable to provide easy and
e f f e c t i v e s t o r a g e o f i n f o r m a t i o n r e l a t e d t o c u s t o m e r s an
d resumes that come up to the system. It generates reports for customers
& administrators. Provides easy designing tools and other interesting
features. The system also provides the facility to contact the customer
FUTURE WORK
1. Enhanced Templates: Add more resume templates with different
designs and layouts to provide users with a wider range of options to
choose from.
2. AI-Powered Suggestions: Implement artificial intelligence algorithms to
22
provide users with personalized suggestions for content, formatting, and
keywords based on their industry or job role.
3. Integration with Job Portals: Allow users to directly upload their
resumes to popular job portals or integrate job search functionality within
the application itself.
4. Language Localization: Provide support for multiple languages to cater
to users from different regions.
23
References:
Here are some references to get you started with a resume builder web application:
1. "Top 10 Resume Builders: Best Resume Writing Services" - This article
provides an overview and comparison of popular resume builder web
applications: [[Link] ([Link]
[Link]/)
2. "10 Best Online Resume Builders 2023: Create Your Resume Today" -
This resource reviews and recommends the top online resume builders for
2023: [[Link]
([Link]
3. "The Best Online Resume Builders in 2023" - This article highlights some of
the best online resume builders available, along with their features and
pricing: [[Link]
[Link]]
([Link] -best-online-resume-
[Link])
4. "Resume Builder Comparison | Resume Genius vs. LinkedIn vs. Zesty &
More" - This resource offers a detailed comparison of various resume builders,
including their pros and cons: ([Link]
([Link]