Newest
Newest
A PROJECT REPORT
Submitted by
BACHELOR OF TECHNOLOGY
in
This sheet must be filled in (each box ticked to show that the condition has been met). It must besigned
and dated along with your student registration number and included with all assignments you submit
work will not be marked unless this is done.
To be completed by the student for all assessments
We hereby certify that this assessment compiles with the University’s Rules and Regulations relating
to Academic misconduct and plagiarism, as listed in the University Website, Regulations, and the
Education Committee guidelines.
We confirm that all the work contained in this assessment is our own except where indicated, and that
We have met the following conditions:
DECLARATION:
I am aware of and understand the University’s policy on Academic misconduct and plagiarism and I certify
that this assessment is my / our own work, except were indicated by referring, and that I have followed the
good academic practices noted above.
ii
SRM INSTITUTE OF SCIENCE AND TECHNOLOGY
KATTANKULATHUR – 603203
(Under Section 3 of UGC Act,1956)
BONAFIDE CERTIFICATE
Certified that 18CSP109L project report titled “Portfolio Website Generator” is the bonafide work
of “RONIT KUMAR[RA2011033010108] and VISHAL GAUR [RA2011033010125]” who
carried out the major project under my supervision. Certified further, that to the best of my knowledge
the work reported herein does not form any other project report or dissertation on the basic of which a
degree or award was conferred on an earlier occasion on this or any other candidate.
SIGNATURE SIGNATURE
Dr. G. SENTHIL KUMAR Prof. Dr. R. ANNIE UTHRA
ASSOCIATE PROFESSOR & SUPERVISOR HEAD OF THE DEPARTMENT
DEPARTMENT OF COMPUTATIONAL DEPARTMENT OF COMPUTATIONAL
INTELLIGENCE INTELLIGENCE
Examiner I Examiner II
iii
ACKNOWLEDGEMENT
We are incredibly grateful to our Head of the Department, Dr. Annie Uthra R Professor,
Department of Computational Intelligence, SRM Institute of Science and Technology, for her
suggestions and encouragement at all the stages of the project work.
We register our immeasurable thanks to our Faculty Advisor, Dr. Sudha Rajesh, Assistant
Professor, Department of Computational Intelligence, SRM Institute of Science and Technology, for
leading and helping us to complete our course.
Our inexpressible respect and thanks to my guide, Dr. G. SENTHIL KUMAR, Associate
Professor, Department of Computational Intelligence, SRM Institute of Science and Technology, for
providing me with an opportunity to pursue my project under his/her/their mentorship. She provided
me with the freedom and support to explore the research topics of my interest. Her passion for solving
problems and making a difference in the world has always been inspiring.
We sincerely thank the Computational Intelligence staff and students, SRM Institute of Science
and Technology, for their help during our project. Finally, we would like to thank parents, family
members, and friends for their unconditional love, constant support, and encouragement.
iv
ABSTRACT
In the era of digital transformation, the conventional PDF resume presentation lacks
interactivity and engagement. This project aims to bridge this gap by developing a system that takes a
PDF resume as input, parses its content, and transforms it into an interactive online website. The final
output will be a dynamic website that not only showcases the resume's content but also offers diverse
design options for a visually appealing and user-friendly experience. Also, the choice to edit the code
of your website will be given to you if you want to alter something by yourself. This project not only
addresses the limitations of traditional resume formats but also provides a platform for users to present
their professional information in an innovative and interactive manner.
v
TABLE OF CONTENTS
ABSTRACT v
TABLE OF CONTENTS vi
LIST OF FIGURES viii
LIST OF TABLES ix
ABBREVIATIONS x
1 INTRODUCTION 1
1.1 Motivation 1
1.2 Innovation 2
1.3 Product Vision Statement 3
1.3.1 Audience 3
1.3.2 Needs 3
1.3.3 Product 4
1.3.4 Values 4
1.3.5 Differentiators 4
2 BACKLOG REFINEMENT 6
2.1 Product Backlog 6
2.2 Product Roadmap 9
2.3 High-Level Estimation of all Epics 10
3 SPRINT PLANNING 19
3.1 Sprint 1 19
3.1.1 Capacity Plan of Sprint 1 19
3.1.2 Detailed Estimation of User Stories 20
3.1.3 Daily Scrum Activities 22
3.1.4 Functional Document 24
3.1.5 Architecture Diagram 26
3.1.6 Architecture Document 90
3.1.7 Functional Test Case Document 21
3.1.8 Defect Report 34
3.1.9 Sprint Retrospective 24
3.2 Sprint 2 28
3.2.1 Capacity Plan of Sprint 2 28
3.2.2 Detailed Estimation of User Stories 32
vi
3.2.3 Daily Scrum Activities 35
3.2.4 Functional Documents 39
3.2.5 Architecture Document 42
3.2.6 Functional Test Case Document 44
3.2.7 Defect Report 48
3.2.8 Sprint Retrospective 32
3.3 Sprint 3 50
3.3.1 Capacity Plan of Sprint 3 50
3.3.2 Detailed Estimation of User Stories 52
3.3.3 Daily Scrum Activities 55
3.3.4 Functional Documents 56
3.3.5 Architecture Document 23
3.3.6 Functional Test Case Document 43
3.3.7 Defect Report 46
3.3.8 Sprint Retrospective 47
4 RESULT AND DISCUSSION 58
4.1 Foundational Development and Database Optimization 58
4.2 Enhancing User Interaction and File Management 59
4.3 Deployment Optimization and Infrastructure Scaling 60
5 CONCLUSION AND FUTURE ENHANCEMENTS 66
5.1 Conclusion 58
5.2 Future Enhancement 59
APPENDIX 68
A PATENT DISCLOSURE FORM 53
B SAMPLE CODING 59
C PLAGAIRISM REPORT 67
vii
LIST OF FIGURES
viii
LIST OF TABLES
ix
ABBREVIATIONS
UI User Interface
UX User Experience
x
CHAPTER 1
INTRODUCTION
1.1 Motivation
The project's roots lie in a concrete experience that highlighted a significant gap in the
job market. During a meeting with a CEO, a crucial requirement was discovered: candidates
needed personal websites to even be considered for shortlisting. This requirement struck a
chord, emphasizing the challenges many students faced in securing job opportunities. It became
evident that personal branding, often overlooked in traditional resumes, played a vital role in
today's competitive job landscape.
This encounter spurred action, igniting a shared passion to bridge the divide between
traditional resumes and the demands of the digital era. There was a collective desire to empower
peers, equipping them with a tool to not just meet but exceed employers' expectations. The idea
of developing a PDF-to-Website converter stemmed from this drive, aiming to revolutionize
how students showcased their professional identities.
This real-world experience underscored the growing importance of digital presence and
personal branding in today's job markets. It served as a reminder that while traditional resumes
still serve a purpose, they often fail to capture the essence of an individual's skills and
experiences. This encounter sparked a journey of innovation and empowerment, driving the
development of a solution that not only meets but exceeds the evolving demands of the
professional world. Through this project, the aim is to revolutionize how individuals present
themselves, ushering in a new era of personalized and impactful professional branding.
1
1.2 Innovation
The innovative solution features an automated PDF resume parsing capability, which
streamlines the process of converting static resumes into dynamic online portfolios. Utilizing
advanced algorithms, the system intelligently extracts relevant information from PDF resumes,
eliminating the need for manual data entry and saving users valuable time and effort. This
automated parsing not only enhances efficiency but also ensures accuracy, enabling users to
create comprehensive and up-to-date portfolios with ease.
The platform dynamically generates HTML/CSS portfolios based on the parsed resume
data. This dynamic approach allows users to create visually appealing and interactive online
portfolios that accurately reflect their professional backgrounds and skills. With customizable
design options and responsive layouts, the portfolios are tailored to captivate and engage
viewers. Users are provided with the flexibility to customize their portfolios according to their
preferences, empowering them to create impactful and memorable digital identities.
The project offers seamless deployment of hosted portfolios, removing the technical
complexities associated with web hosting and domain management. Users can easily deploy
their portfolios with just a few clicks, ensuring instant accessibility to potential employers and
recruiters. This streamlined deployment process enables users to showcase their portfolios with
confidence and professionalism, removing barriers to entry and allowing users to focus on
presenting their best selves to the world.
Prioritizing user experience, the platform is designed with a user-friendly interface that is
intuitive and easy to navigate. From resume parsing to portfolio customization, every step of
the process is guided by clear instructions and visually appealing interfaces. This user-centric
approach ensures that users of all skill levels can effortlessly create and manage their portfolios
with minimal learning curve. By providing a seamless and enjoyable user experience, the
platform empowers users to showcase their talents and achievements effectively.
Data security is taken seriously, with robust measures implemented to safeguard user
information. From encryption protocols to secure data storage practices, the platform adheres
to industry standards for data protection and privacy. Users can trust that their personal and
professional information is always kept confidential and secure. This commitment to data
security ensures that users can confidently leverage the platform to create and share their
portfolios without compromising their privacy or security.
2
The project fosters collaboration and feedback through built-in mechanisms that enable
users to share their portfolios with others for review and feedback. Whether seeking input from
peers, mentors, or industry professionals, users can easily collaborate and gather valuable
insights to enhance their portfolios. This collaborative approach promotes continuous
improvement and ensures that portfolios are refined to meet the highest standards of
professionalism and effectiveness.
Primary Audience: Our primary audience comprises individuals seeking to enhance their
professional online presence, including job seekers, professionals, freelancers, and students.
These users are keen on leveraging digital platforms to showcase their skills, experiences, and
accomplishments in a visually appealing and interactive manner. With diverse backgrounds
and career aspirations, they aim to create compelling online portfolios that set them apart in
today's competitive job market.
Secondary Audience: The secondary audience includes businesses, recruiters, and educational
institutions who are involved in talent acquisition and evaluation processes. These entities often
review online portfolios to assess candidates' qualifications, creativity, and suitability for
various opportunities. Additionally, educators and career counsellors may recommend our
platform to students and professionals seeking guidance on developing their digital identities.
1.3.2 Needs
a) Primary Needs
b) Secondary Needs
3
1.3.3 Products
a) Core Product
b) Additional Features:
1.3.4 Values
a) Core Values
1.3.5 Differentiators
Our product stands out as a pioneering endeavour, offering a capability unparalleled in the
market: the ability to seamlessly transform PDF resumes into fully functional and aesthetically
appealing portfolio websites. This unique proposition, never before realized in the industry,
positions our solution as a game-changer, catering to individuals seeking a distinctive and
effortless approach to showcasing their professional identity online.
At the inception of their journey on our platform, users are greeted with an intuitively
designed homepage, meticulously crafted using the MERN stack. This technology stack not
only ensures robustness but also facilitates scalability, allowing our platform to accommodate
varying user needs and preferences seamlessly. The homepage serves as a virtual gateway,
offering users a comprehensive overview of the platform's features and functionalities, coupled
with a user-friendly guide on navigating through the process.
4
Upon embarking on the process of creating their personalized portfolio website, users are
prompted to upload their resumes in PDF format. This initial step sets the stage for the intricate
process of parsing, where sophisticated algorithms work tirelessly behind the scenes to extract
pertinent information from the uploaded resumes. Leveraging advanced parsing techniques,
the platform meticulously organizes and structures the extracted data, laying the foundation for
the subsequent stages of website creation.
With the data parsed and organized, users are seamlessly transitioned to a template
HTML/CSS page, meticulously curated to offer a diverse array of visually appealing layouts
and designs. Each template is thoughtfully crafted to cater to different professional preferences
and aesthetics, ensuring that users have ample options to choose from. The parsed data
seamlessly populates these templates, dynamically generating personalized portfolio websites
that reflect the unique professional identities of each user.
In parallel, users are guided through a secure authentication process powered by Google
Passport. This authentication mechanism not only ensures the security of user data but also
enhances user experience by offering a seamless login and account creation process. By
leveraging the robust authentication capabilities of Google Passport, users can trust that their
personal information is safeguarded throughout their journey on the platform.
Upon successful authentication, users are presented with the option to deploy their
personalized portfolio websites. Integration with Razorpay facilitates secure payment
transactions, allowing users to subscribe to the platform's services effortlessly. The deployment
process culminates in the creation of a dynamic endpoint, uniquely tailored to each user's
username. This endpoint serves as the digital gateway to their professional identity, allowing
users to showcase their skills and experiences with confidence in the competitive job market.
5
CHAPTER 2
BACKLOG REFINEMENT
Transitioning into Sprint 2, the focus shifts towards enhancing the platform's
capabilities for handling user-generated content. The sprint begins with the development of a
robust file upload structure, facilitating seamless intake of user resumes in PDF format.
Subsequently, dedicated efforts are allocated towards implementing algorithms for data
extraction from uploaded files, ensuring accurate parsing and organization of vital information.
Concurrently, the sprint encompasses the design and implementation of pre-built templates
using React, offering users a diverse array of visually appealing layouts for their portfolio
websites. Integration of these templates with the parsed data marks a significant milestone in
enabling users to customize and personalize their online portfolios effectively.
In Sprint 3, the project enters its final phase with a focus on optimizing user experience
and platform performance. The sprint commences with the implementation of rate limiting and
fair usage policies, ensuring equitable access to platform resources while preventing misuse or
abuse. Additionally, the integration of payment gateways enables users to seamlessly subscribe
to premium features and services, unlocking advanced functionalities for their portfolio
websites. The sprint culminates in the deployment of final DevOps solutions, leveraging tools
like EC2 instances and Nginx for efficient hosting and delivery of portfolio websites.
6
Table 2.1 Product Backlog
7
Table 2.1 Product Backlog
8
Table 2.1 Product Backlog
9
2.2 Product Roadmap
In the initial sprint, spanning weeks 1 to 3, our primary objective revolves around establishing the
foundational elements essential for the seamless functioning of the Portfolio Website Generator.
During this phase, our focus is on laying down the groundwork by implementing fundamental features
that define the platform's structure and usability. One of the key tasks includes the implementation of
a standardized file and code structure, ensuring consistency and clarity across both the backend and
frontend components of the platform. Additionally, we devote significant efforts to crafting an
engaging landing page that effectively communicates the platform's value proposition to potential
users, setting the stage for their journey ahead. Moreover, the integration of robust user authentication
mechanisms takes precedence to safeguard user data and ensure secure access to the platform's
features. By the end of this sprint, we aim to have a solid foundation in place, setting the stage for
more advanced functionalities in subsequent phases.
In the second sprint, spanning weeks 4 to 6, our focus shifts towards enhancing the user experience
and expanding the platform's capabilities for handling user-generated content. During this phase, our
primary goal is to empower users with intuitive tools and features that facilitate seamless content
creation and customization. Key tasks include the development of a user-friendly file upload structure,
enabling users to effortlessly upload their resumes in PDF format. Furthermore, we prioritize the
implementation of advanced algorithms for efficient data extraction from uploaded files, ensuring
accurate parsing and organization of vital information. Additionally, we embark on the design and
implementation of pre-built templates using React, offering users a diverse array of visually appealing
layouts for their portfolio websites. By the end of this sprint, users can expect a more immersive and
personalized experience, with enhanced tools and features at their disposal to create stunning online
portfolios.
In the final sprint, spanning weeks 7 to 9, our focus shifts towards optimization, security, and final
preparations for deployment. During this phase, our primary objective is to ensure that the platform is
robust, secure, and ready for launch. One of the key tasks includes the implementation of rate limiting
and fair usage policies to ensure equitable access to platform resources while preventing misuse or
abuse. Additionally, we integrate payment gateways to enable seamless subscription services, allowing
users to unlock premium features for their portfolio websites. Furthermore, we finalize DevOps
deployments for efficient hosting, leveraging tools like EC2 instances and Nginx to ensure reliable,
secure, and performant deployment. By the end of this sprint, we conduct thorough testing and bug
fixing to address any lingering issues, ensuring a seamless and error-free user experience upon launch.
Table 2.2 Product Roadmap
11
As the project progresses, the focus shifts towards data processing and integration with epics
like "Data extraction from files" and "Integration template with Uploaded data." These epics enable
seamless handling of user-generated content and facilitate dynamic integration with pre-built
templates. Additionally, measures are implemented to ensure resource management and scalability
with epics such as "Rate Limiting & Fair Usage Policy" and "Payment integration and Making
subdomains." These epics aim to optimize resource allocation and enhance user accessibility through
secure payment gateways and subdomain creation.
In the final stages of development, attention turns towards deployment and maintenance with
epics like "Final Devops Deployments" and "Bug Fixes." These epics ensure a smooth and error-free
launch of the platform, followed by ongoing maintenance to address any issues, and optimize
performance. Overall, each epic contributes to the overarching goal of creating a robust, user-friendly,
and feature-rich Portfolio Website Generator, catering to the diverse needs of its users.
12
Table 2.3 High level Estimation of All Epics
Priorit Non-
y Functional
(MoSC Statu Acceptance Functional Requirement Original
ID Title Epic User Story oW) s Criteria Requirements s Estimate
Define a
The project
standard file and
As a should adhere
directory
developer, to a Ensure that all
structure for the
Standard I need to predefined developers
File project.
file and implement Comp file and code follow the
1 Manage Should Implement 1 Week
code standard leted structure for defined
ment coding
structure file and consistency structure and
conventions for
code and conventions.
consistent code
structure maintainabilit
formatting and
y.
style.
Ensure cross-
browser
compatibility
As a Create a
and consistent
developer, wireframe of
rendering
I need to the home
across
design the page layout
different web
home page with sections Develop React
browsers.
of the for code to
Landing UI/UX Optimize
website to Comp navigation, implement the
2 Page Enhanc Must page load 2 Weeks
create an leted featured designed layout
Design ement times and
engaging content, about and styling for
performance
and section, the home page
by
visually services/prod
minimizing
appealing ucts, and
unnecessary
user contact
assets and
interface. information.
leveraging
caching
techniques.
As a
developer,
I want to
ensure Ensure data
User User Implement Integrate Google
secure Comp privacy and
3 Authenti Manage Must secure user Passport and 3 Weeks
authenticati leted user
cation ment authentication self-login
on features authentication
are
implemente
d.
As a
developer,
I want to
User optimize Implement
User Set up user
database database Comp MongoDB for Ensure data
4 Manage Must database 3 Weeks
Architec efficiency leted efficient data integrity
ment architecture
ture for storage
improved
performanc
e.
13
As a
developer,
I want to Design and
File File Create a user- Optimize for
develop Comp implement
5 upload Manage Must friendly file large file 2 Weeks
easy-to-use leted file upload
structure ment upload interface handling
file upload structure
functionalit
y for users.
As a
developer,
I want to
Data implement Implement Integrate
Data Ensure
exractio data Comp data algorithms for
6 Processi Must accuracy and 3 Weeks
n from extraction leted extraction efficient
ng compatibility
files features from files extraction
from
uploaded
files.
As a
developer,
Pre
I want to Design and Ensure
Build UI/UX Utilize react and
create Comp implement templates are
7 template Enhanc Should css for template 4 Weeks
visually leted pre-build customizable
designin ement design
appealing template and diverse
g - React
templates
for users.
As a
Integrati developer,
on I want to Develop Link templates
template Integrat integrate Comp template dynamically Optimize for
8 Must 4 Weeks
with ion data leted integration with uploaded multiple files
Uploade seamlessly with data data
d data across the
website.
As a
developer,
I need to
implement
Users are
mechanism
restricted
s for
from Define usage
ensuring
excessive use Implement usage and rate limits
Rate equitable
Resourc of resources and API request based on
Limiting resource
e Comp beyond tracking resource
9 & Fair allocation Should 3 Weeks
Manage leted defined limits mechanisms, availability
Usage and
ment and API calls enforce usage and user
Policy preventing
are limited and rate limits subscription
abuse
based on plans
through
predefined
policy
rate limits
enforcemen
t and API
rate
limiting
As a
developer,
Payment I want to
Ensure secure
integrati Paymen implement Integrate Implement
transactions
on and t payment Comp payment Razorpay for
10 Must and 4 Weeks
Making Processi and leted gateway and payment
subdomain
subdoma ng deployment subdomains processing
creation
ins features for
users'
websites.
14
As a Ensure
developer, reliable,
I want to Set up secure, and
Final
streamline Implement deployment performant
Devops Deploy Comp
11 the Must final DevOps using EC2 deployment 3 Weeks
Deploy ment leted
deployment deployments instance and with proper
ments
process for Nginx monitoring
efficient and cost
releases. optimization
As a
developer,
Critical bugs
I want to
should be
prioritize Identify and Implement bug-
Bug Mainten Pendi resolved
12 bug fixing Could fix reported fixing 2 Weeks
Fixes ance ng within 48
to ensure a bugs procedures
hours of
smooth
discovery.
user
experience.
15
CHAPTER 3
SPRINT PLANNING
Effective resource utilization and timely task completion hinge on meticulous capacity
planning. In the ongoing sprint, it is imperative for all team members, including developers, scrum
masters, and product owners, to devise individual capacity plans. These plans outline their availability
during working days, scheduled leaves, and any other commitments such as educational pursuits or
skill enhancement endeavours. By estimating the number of hours, they can dedicate to various project
activities such as design, development, testing, and documentation, team members can ascertain their
capacity for the sprint. This meticulous planning facilitates optimal task allocation and seamless
coordination, ensuring smooth progress of the project and attainment of objectives within the stipulated
timeframe, as illustrated in Table 3.1.
16
Table 3.1 Foundational Development and Database Optimization
Design,
Planned Other
Development,
Working Leaves Course Upskilling Estimated
Name Role Testing,
Days (in work (in Days) Hours
Documentation
Days) activities
(in Days)
Ronit Developer/Scrum 26 5 3 2 16
Master 80
Vishal Developer/Product 26 4 1 1 20
Owner 100
One of the primary tasks was to establish a standard file and code structure for the project,
ensuring consistency and maintainability throughout the development process. This task was essential
to streamline the development workflow and facilitate collaboration among team members. By
implementing a predefined file and code structure, developers could easily navigate through the project
and locate relevant files, thus reducing the time spent on searching for resources. Additionally,
adhering to coding conventions ensured consistent code formatting and style across the project,
enhancing readability, and making it easier for developers to understand and maintain each other's
code.
The implementation of a standard file and code structure involved defining a set of guidelines
and best practices for organizing project files and directories. This included determining the hierarchy
of folders, naming conventions for files and directories, and establishing rules for organizing code files
based on functionality or module. By creating a clear and intuitive structure, developers could
effectively manage and organize project assets, reducing the risk of file clutter and confusion.
Furthermore, enforcing coding conventions helped maintain code quality and consistency
throughout the project. By defining rules for code formatting, indentation, variable naming, and
commenting, developers could ensure that all code written adhered to a unified style, making it easier
to read, understand, and maintain. This not only improved collaboration among team members but also
facilitated code reviews and debugging processes, as developers could quickly identify and address
any deviations from the established conventions.
17
To ensure that all developers followed the defined structure and conventions, regular code
reviews and peer evaluations were conducted. Team members were encouraged to provide feedback
and suggestions for improvement, fostering a culture of continuous learning and improvement.
Additionally, automated tools and linters were utilized to enforce coding standards and identify any
deviations in real-time, allowing developers to address issues promptly and maintain code quality
throughout the development lifecycle.
Another crucial task was to enhance the user interface and user experience by designing the
landing page of the website. This task aimed to create an engaging and visually appealing interface
that would effectively capture the user's attention and encourage further exploration of the website. By
focusing on UI/UX enhancement, the team sought to improve user satisfaction and retention,
ultimately contributing to the success of the project.
The first step in this task was to create a wireframe of the home page layout, outlining the
various sections such as navigation, featured content, about section, services/products, and contact
information. This wireframe served as a blueprint for the design and layout of the landing page,
providing a clear visual representation of the overall structure and flow of the page. By defining the
placement of key elements and content sections, the wireframe helped ensure consistency and
coherence in the final design.
Once the wireframe was finalized, the next step was to develop React code to implement the
designed layout and styling for the home page. This involved translating the wireframe design into
functional code, utilizing React components and libraries to create dynamic and interactive elements.
By adhering to best practices in front-end development, such as modularization and component
reusability, the team aimed to streamline the development process and maintain code consistency and
scalability.
Furthermore, to ensure optimal performance and user experience, the team focused on
addressing two key non-functional requirements: cross-browser compatibility and page load times.
Cross-browser compatibility was essential to ensure consistent rendering of the website across
different web browsers, providing a seamless experience for users regardless of their browser
preference. Additionally, optimizing page load times and performance was crucial for minimizing user
wait times and maximizing engagement. This involved minimizing unnecessary assets, such as images
and scripts, and leveraging caching techniques to improve response times and overall site performance.
18
By prioritizing UI/UX enhancement and implementing a well-designed landing page, the team
aimed to create a compelling first impression for users and set the stage for a positive and immersive
browsing experience.
A critical task involved implementing robust user authentication features to ensure the security
of the platform. This task was essential for safeguarding user data and preventing unauthorized access
to sensitive information. By prioritizing user authentication, the team aimed to establish a secure
foundation for the project, instilling trust, and confidence in users.
The first objective of this task was to implement secure user authentication mechanisms. This
involved setting up authentication protocols and encryption methods to protect user credentials and
sensitive data from potential security threats. By adhering to industry best practices and standards,
such as using hashed passwords and secure token-based authentication, the team ensured that user
authentication was resilient against common security vulnerabilities.
Additionally, the task involved integrating Google Passport and enabling self-login
functionality. Integrating Google Passport provided users with the option to authenticate using their
Google accounts, offering convenience and familiarity while maintaining security standards.
Simultaneously, enabling self-login functionality allowed users to create and manage their accounts
directly on the platform, enhancing user autonomy and flexibility in account management.
Furthermore, a key focus of this task was to ensure data privacy and user authentication
integrity. This included implementing measures to protect user privacy, such as data encryption and
compliance with data protection regulations. Additionally, stringent authentication checks were put in
place to verify user identities and prevent unauthorized access to account information. By prioritizing
data security and user authentication integrity, the team aimed to instil confidence in users and uphold
the platform's reputation for reliability and trustworthiness.
Optimizing the database architecture was a critical task aimed at enhancing overall system
performance and efficiency. By prioritizing database optimization, the team sought to streamline data
storage and retrieval processes, ensuring optimal performance even as the user base scaled.
19
The primary objective of this task was to establish an efficient user database architecture. This
involved designing a database schema tailored to the specific requirements of the platform, considering
factors such as data structure, relationships, and indexing strategies. By carefully planning the database
architecture, the team aimed to minimize data redundancy and improve query performance, resulting
in faster and more efficient data operations.
To achieve this objective, MongoDB was implemented as the database management system.
MongoDB's document-oriented nature and flexible schema made it well-suited for storing user data in
a scalable and efficient manner. By leveraging MongoDB's capabilities, the team was able to optimize
data storage and retrieval processes, improving overall system performance and responsiveness.
Furthermore, ensuring data integrity was a key consideration throughout the database
architecture optimization process. This involved implementing measures to maintain data consistency,
accuracy, and reliability, such as enforcing data validation rules and transaction management
protocols. By prioritizing data integrity, the team aimed to mitigate the risk of data corruption or loss,
safeguarding the integrity of user data, and maintaining trust in the platform. Detailed estimation of
Foundational Development and database optimization of sprint one is given below in table 3.2.
20
Table 3.2 Detailed estimation of Foundational Development and Database Optimization
21
3.1.3 Daily Scrum Activities
Vishal Gaur
Yesterday: Reviewed project requirements for the landing page and explored design inspirations and
concepts. Created wireframes and mock-ups for the homepage.
Presently: Designing UI components for the landing page and iterating on the design based on
feedback and testing.
Ronit Kumar
Yesterday: Discussed functional requirements for the homepage and developed backend logic for
retrieving data. Implemented server-side rendering for the landing page and integrated API endpoints
for dynamic content.
Presently: Writing JavaScript code for homepage interactivity and refining backend endpoints based
on frontend needs.
Obstacles: Pending frontend components for data integration.
Daily scrum template of Foundational Development and Database Optimization of all the 4 weeks are
given below in the table 3.3.
22
Table 3.3 Daily scrum template of Foundational Development and Database
Optimization
Week-1
Team
member
Question Monday Tuesday Wednesday Thursday Friday
Set up Created Installed Initialized
What did
project basic folder necessary client-side Took a
you do
repository on structure for Node.js and server- leave
yesterday?
GitHub. the project. modules. side files.
Integrating
Configuring Organizing Establishing
What are frontend
Vishal environment frontend routes and On
you doing components
Gaur variables for assets and controllers on leave
today? with backend
the server. source files. the server.
API.
Is there Pending
anything approval for Leave
N/A N/A N/A
blocking project day
you? architecture.
Structured Installed Configured
What did Set up local
server-side necessary database Took a
you do development
files and dependencies connections leave
yesterday? environment.
directories. for backend. and models.
Setting up Configuring
Implementing Integrating
What are ESLint and webpack for
middleware authentication On
Ronit you doing Prettier for bundling
for error and leave
Kumar today? code frontend
handling. authorization.
formatting. assets.
Resolving Waiting for
Is there
compatibility feedback on
anything Leave
N/A issues with N/A database
blocking day
Node.js schema
you?
versions. design.
23
Week-2
Team
member
Question Monday Tuesday Wednesday Thursday Friday
Reviewed Explored Created Started
What did project design wireframes implementing
On
you do requirements inspirations and mockups frontend
leave
yesterday? for landing and for the layout and
page. concepts. homepage. styles.
Designing UI Iterating on Integrating Conducting
Vishal What are
components design based animations usability On
Gaur you doing
for the on feedback and testing on leave
today?
landing page. and testing. transitions. landing page.
Is there Waiting for
anything approval on Leave
N/A N/A N/A
blocking design day
you? direction.
Developed Integrated
Discussed Implemented
What did backend API
functional server-side On
you do logic for endpoints for
requirements rendering for leave
yesterday? retrieving dynamic
for homepage. landing page.
data. content.
Refining
Writing
backend Optimizing
What are JavaScript Conducting
Ronit endpoints server-side On
you doing code for unit tests on
Kumar based on rendering for leave
today? homepage backend logic.
frontend performance.
interactivity.
needs.
Pending
Is there
frontend
anything Leave
N/A components N/A N/A
blocking day
for data
you?
integration.
24
Week-3
Team
member
Question Monday Tuesday Wednesday Thursday Friday
Reviewed Created Started
Explored UI
What did requirements wireframes implementing
design On
you do for and frontend
patterns for leave
yesterday? login/signup prototypes layout and
authentication.
pages. for pages. styles.
Designing UI Integrating
Iterating on Conducting
Vishal What are components form
design based usability On
Gaur you doing for validation
on feedback testing on leave
today? login/signup and error
and testing. authentication.
forms. handling.
Is there Waiting for
anything approval on Leave
N/A N/A N/A
blocking design day
you? direction.
Integrated
Discussed Implemented Implemented
What did Google
authentication basic login signup logic On
you do Passport
requirements logic and and user leave
yesterday? strategy for
with team. routes. registration.
login.
Refining
Optimizing
Writing authentication Conducting
What are authentication
Ronit JavaScript endpoints unit tests on On
you doing flows and
Kumar code for login based on login and leave
today? error
functionality. frontend signup logic.
handling.
needs.
Pending
Is there
frontend
anything Leave
N/A components N/A N/A
blocking day
for data
you?
integration.
25
Week-4
DAILY SCRUM TEMPLATE
Team
member
Question Monday Tuesday Wednesday Thursday Friday
Reviewed Explored Created Started
What did database database entity- implementing
On
you do requirements design relationship database
leave
yesterday? for user patterns and diagrams for schema in
data. structures. database. SQL.
Designing
Refining Implementing Conducting
Vishal What are tables and
database data initial testing On
Gaur you doing relationships
schema based validation and on database leave
today? for user
on feedback. constraints. architecture.
data.
Is there Waiting for
anything approval on Leave
N/A N/A N/A
blocking database day
you? design.
Designed
Discussed
Researched Implemented queries and
What did data
best practices database stored On
you do modeling
for database connectivity procedures leave
yesterday? approaches
security. in backend. for CRUD
with team.
operations.
Integrating
Ronit Writing Conducting Optimizing
What are database
Kumar SQL queries unit tests on database On
you doing operations
for database database performance leave
today? with backend
operations. interactions. and indexing.
logic.
Is there Pending
anything completion of Leave
N/A N/A N/A
blocking backend day
you? functionality.
The Portfolio Website Generator is an innovative solution aimed at simplifying the process of
creating professional and visually appealing portfolio websites. With a focus on user-friendly design
and seamless functionality, this system empowers individuals, particularly those without coding
expertise, to showcase their work and skills effectively. By leveraging cutting-edge web technologies,
26
the Portfolio Website Generator streamlines the website creation process, offering users a hassle-free
experience.
Product Goal
The primary goal of the Portfolio Website Generator is to provide users with a platform to
effortlessly build personalized portfolio websites. By offering a wide range of customizable templates
and intuitive editing tools, the system aims to enable users to showcase their work, achievements, and
expertise in a captivating and professional manner. Additionally, the Portfolio Website Generator
seeks to democratize website creation, making it accessible to individuals from diverse backgrounds
In Sprint 1 of the Portfolio Website Generator project, the architectural focus is on establishing
the foundational elements necessary for the system's seamless functionality. At its core, the system
comprises a client-side application, a server, a database, and various supporting modules. The client-
side application serves as the user interface accessible through web browsers, enabling users to interact
with the Portfolio Website Generator. Concurrently, the server hosts the backend logic responsible for
processing user requests and managing website generation. This server interacts with the client-side
application to handle template selections, content uploads, and other user interactions. Ensuring data
persistence and integrity, the database stores essential data such as user accounts, templates, and
website configurations.
27
Furthermore, a web server component is integrated to host the client-side application and serve
static assets such as HTML, CSS, and JavaScript files to users' browsers. This web server handles
incoming HTTP requests and routes them to the appropriate components within the system, facilitating
seamless user interactions. Overall, the architecture of Sprint 1 emphasizes simplicity, reliability, and
scalability, laying a solid foundation for future enhancements and feature implementations in
subsequent sprints. Architecture diagram of portfolio website generator is given below in fig. 3.4.
Event-Driven: The system is event-driven, responding to real-time events such as facial expressions,
biometric data, and steering patterns. Events trigger immediate analysis, allowing the system to detect
and respond to driver drowsiness promptly.
28
3.1.7 Functional Test Case Document
The functional test cases follow in Table 3.5 encompass critical aspects of the drowsiness
detection system, validating installation, sensor integration, algorithm accuracy, real-time alerting, and
reporting functionalities. Each test verifies successful execution of specific system features, ensuring
reliable detection of drowsiness signs and prompt alerting. Identified issues are promptly addressed,
contributing to system refinement and user satisfaction, ensuring a robust and effective drowsiness
detection solution.
Table 3.5 Functional Test case of Foundational Development and Database Optimization
A Table 3.6 Defect Report serves as a critical tool for identifying and documenting issues encountered
during the testing phase of software development. It provides detailed information about the defect,
including its nature, severity, steps to reproduce, and any additional relevant details. This report
facilitates communication between testers, developers, and stakeholders, ensuring that defects are
addressed promptly and effectively. By systematically logging and tracking defects, teams can
prioritize and allocate resources efficiently to resolve them, ultimately improving the overall quality
and reliability of the software product.
29
Table 3.6 Defect Report of Foundational Development and Database Optimization
Defect Report
Severity
Reported
Feature Defect ID Defect Description (Low/Medium/ Screenshot Status Remarks
Environment UAT
High)
UAT (User Authentication DEF-001 Upon attempting to log in with valid High Close Reproduction Steps:
Acceptence testing) credentials, users are encountering an
authentication error, preventing successful Fill SignUp Details
access to the system. The issue is Fill SignUp Details
Go to login
observed consistently, and the error
Unable to login
message displayed does not provide
meaningful information to identify the root
cause.
30
3.1.9 Sprint Retrospective
The Table 3.7 Sprint Retrospective highlighted several key observations and reflections from
the team's recent sprint. Notable achievements included the successful implementation of real-time
alert generation and the integration of geolocation data, enhancing system functionality. Lessons
learned emphasized the effectiveness of collaborative problem-solving sessions and the value of
implementing automated testing. Areas lacking documentation for external libraries and the need for
more structured training sessions on new technologies were identified as areas for improvement.
Additionally, the team expressed a desire for improved feedback mechanisms on UI elements and
enhanced coordination with hardware teams. These insights will guide future sprints towards greater
efficiency and effectiveness.
31
3.2.1 Sprint 2 - Capacity Plan of Enhancing User Interaction and File Management
To guarantee effective resource allocation, print's capacity planning, each team member's role,
availability, scheduled leaves, and extra activities are taken into consideration. Each of Ronit, Vishal,
the Scrum Master, and the Product Owner has set working days, prearranged vacation time, and time
set aside for extracurriculars like training. The planned workload distribution for each team member
is reflected in the estimated hours for design, development, testing, and documentation as show in
Table 3.8 Capacity plan for current sprint. This capacity plan considers each person's abilities and
responsibilities to maximize output and enable seamless sprint execution, improving team performance
as a whole and project success.
Table 3.8 Capacity plan of Enhancing User Interaction and File Management
3.2.2 Detailed Estimation of User Stories of Enhancing User Interaction and File Management
32
d) Optimizing for Large File Handling
Efforts were made to optimize the file upload structure to handle large files efficiently.
Techniques such as chunked uploading and progressive enhancement were explored to enhance
performance and reliability, particularly with bulky files.
e) Thorough Testing and Refinement
Thorough testing and refinement were conducted throughout the sprint to ensure the robustness
and reliability of the file upload functionality. This involved rigorous testing under various
scenarios and incorporating feedback from users and stakeholders into the iterative development
process.
f) Successful Delivery of Enhanced File Upload Structure
By the conclusion of Sprint 2, the team had successfully delivered an enhanced file upload
structure. This implementation significantly improved user interaction and streamlined the file
management process, providing users with a seamless and efficient experience when uploading
files to the platform.
3.2.2.2. Data Extraction From Files
33
e) Thorough Testing and Quality Assurance:
The implementation underwent thorough testing and quality assurance processes to identify and
address any potential issues or discrepancies. This included testing the extraction algorithms
under various scenarios and file formats to ensure consistent performance and accuracy across
different use cases.
The objective of this task was to enhance the user experience by providing visually appealing
and customizable templates for users to choose from when creating their portfolios. By offering pre-
built templates, developers sought to streamline the portfolio creation process and empower users with
diverse design options to suit their preferences.
Developers focused on designing and implementing a variety of pre-built templates using React
and CSS. These templates were carefully crafted to incorporate modern design principles, including
responsive layouts, attractive typography, and intuitive navigation elements. Each template was
designed to offer a distinct visual style and layout, catering to different preferences and professional
fields.
The development process involved leveraging the capabilities of React, a JavaScript library for
building user interfaces, to create dynamic and interactive template components. CSS was utilized to
style and customize the appearance of the templates, ensuring consistency and coherence across the
platform.
Special emphasis was placed on ensuring that the pre-built templates were highly customizable
and diverse. Users were provided with options to personalize their chosen template by adjusting colors,
fonts, layout elements, and content sections to align with their branding and preferences. By offering
a range of templates with customizable features, developers aimed to cater to the diverse needs and
aesthetic preferences of users.
Following the implementation of the pre-built templates, thorough testing and quality
assurance measures were conducted to ensure their functionality, responsiveness, and compatibility
across devices and browsers. Additionally, user feedback and usability testing were utilized to gather
insights into the templates' effectiveness and identify areas for improvement, ensuring that the final
designs met user expectations and enhanced the overall user experience.
34
3.2.2.4. Pre-Build template designing - React
The primary objective of this task was to seamlessly integrate the pre-built templates with the
data uploaded by users, ensuring a cohesive and personalized user experience across the website.
Developers aimed to create a seamless integration process that would dynamically link the templates
with the uploaded data, allowing users to visualize their information within their chosen template
layout.
To achieve this goal, developers focused on developing robust mechanisms to dynamically link
the pre-built templates with the uploaded data. This involved implementing backend logic to fetch the
user's data from the database and dynamically populate the template components with the relevant
information. By establishing this integration, users could see their personal and professional details
displayed within the selected template design, creating a cohesive and personalized portfolio
presentation.
Special attention was given to optimizing the integration process for handling multiple files
uploaded by users. Developers implemented scalable solutions to efficiently manage and process large
volumes of data, ensuring that the integration remained seamless and responsive regardless of the size
or complexity of the uploaded files. This optimization contributed to a smooth user experience,
allowing users to seamlessly integrate their data across the website without encountering performance
issues or delays.
Throughout the development process, rigorous testing and quality assurance measures were
employed to validate the integration functionality and ensure its reliability and stability. Developers
conducted comprehensive testing to verify that the templates accurately reflected the uploaded data
and that all integration features performed as expected across different scenarios and use cases. By
prioritizing seamless integration and optimal performance, developers aimed to deliver a user-centric
solution that effectively combined data and design to create compelling online portfolios.
For all users stories we follow Table 3.9 Detailed estimation for sprint 2 and User Interaction and File
Management.
35
Table 3.6 Defect Report of Foundational Development and Database Optimization
36
3.2.3 Daily Scrum Activities
Vishal Gaur dedicated his efforts to refining the parsing algorithms, enhancing code structure,
and incorporating user-friendly features into the portfolio website generator. Simultaneously, Ronit
Kumar focused on optimizing template rendering, implementing drag-and-drop functionality, and
refining backend processes. Daily scrum template for Hardware and Software Integration are
mentioned below in the table 3.10.
Table 3.10 Daily scrum template for Hardware and Software Integration
Week-5
Team
member
Question Monday Tuesday Wednesday Thursday Friday
Created Started
Reviewed Explored UI
wireframes implementing
What did requirements design
and frontend On
you do for file patterns for
prototypes for layout and leave
yesterday? upload file upload
file upload styles for file
feature. interface.
component. upload.
Designing
Integrating Conducting
Vishal UI Iterating on
What are drag-and-drop usability
Gaur components design based On
you doing functionality testing on file
for file on feedback leave
today? for file upload
upload and testing.
upload. interface.
dropbox.
Is there Waiting for
anything approval on Leave
N/A N/A N/A
blocking design day
you? direction.
Integrated Implemented
Discussed Implemented
What did Multer file storage
file upload backend On
you do middleware logic and
requirements routes for leave
yesterday? for file directory
with team. file upload.
handling. structure.
Refining file
Writing Optimizing
upload Conducting
What are JavaScript file upload
Ronit endpoints unit tests on On
you doing code for file performance
Kumar based on file upload leave
today? upload and error
frontend logic.
functionality. handling.
needs.
Pending
Is there
frontend
anything Leave
N/A components N/A N/A
blocking day
for data
you?
integration.
37
Week-6
Team
member
Question Monday Tuesday Wednesday Thursday Friday
Started
Explored
Reviewed Developed implementing
What did parsing
requirements regex patterns frontend for On
you do algorithms
for data for data displaying leave
yesterday? for file
extraction. extraction. extracted
types.
data.
Designing
UI Conducting
Vishal Iterating on Integrating
What are components usability
Gaur design based data display On
you doing for testing on
on feedback with backend leave
today? displaying data display
and testing. functionality.
extracted interface.
data.
Is there Waiting for
anything approval on Leave
N/A N/A N/A
blocking design day
you? direction.
Discussed Implemented
Researched Tested regex
What did data parsing
parsing patterns for On
you do extraction algorithms for
libraries and accuracy and leave
yesterday? approaches supported file
tools. efficiency.
with team. types.
Writing Refining Optimizing
Conducting
Ronit What are JavaScript data performance
unit tests on On
Kumar you doing code for extraction of data
parsing leave
today? parsing logic based extraction
algorithms.
algorithms. on testing. processes.
Is there Pending
anything completion Leave
N/A N/A N/A
blocking of parsing day
you? algorithms.
38
Week-7
DAILY SCRUM TEMPLATE
Team
member
Question Monday Tuesday Wednesday Thursday Friday
Started
Created
Explored UI implementing
Reviewed wireframes
What did design frontend
requirements and On
you do patterns for layout and
for pre-built prototypes for leave
yesterday? template styles for
templates. template
frontend. template
designs.
pages.
Designing
Vishal Integrating Conducting
UI Iterating on
Gaur What are template usability
components design based On
you doing designs with testing on
for template on feedback leave
today? backend template
portfolio and testing.
functionality. pages.
pages.
Is there Waiting for
anything approval on Leave
N/A N/A N/A
blocking design day
you? direction.
Discussed Implemented Implemented
Integrated
What did template backend logic for
data fetching On
you do portfolio routes for dynamic
for template leave
yesterday? requirements template template
content.
with team. pages. rendering.
Writing Refining Conducting
Optimizing
Ronit What are JavaScript template unit tests on
performance On
Kumar you doing code for logic based template
of template leave
today? template on frontend rendering
rendering.
functionality. needs. logic.
Is there Pending
anything completion Leave
N/A N/A N/A
blocking of frontend day
you? integration.
39
Week-8
DAILY SCRUM TEMPLATE
Team
member
Question Monday Tuesday Wednesday Thursday Friday
Started
Reviewed Explored UI Created
implementing
What did requirements design wireframes
frontend On
you do for patterns for and
integration leave
yesterday? integrating data prototypes for
with parsed
parsed data. integration. data display.
data.
Designing
Conducting
Vishal UI Iterating on Integrating
What are usability
Gaur components design based parsed data On
you doing testing on
for on feedback with template leave
today? integrated
displaying and testing. frontend.
pages.
parsed data.
Is there Waiting for
anything approval on Leave
N/A N/A N/A
blocking design day
you? direction.
Discussed Implemented Implemented
Integrated
What did data backend logic for data
parsed data On
you do integration routes for binding in
with backend leave
yesterday? approaches data template
functionality.
with team. retrieval. pages.
Refining Conducting Optimizing
Writing
Ronit What are data binding unit tests on performance
JavaScript On
Kumar you doing logic based data of data
code for data leave
today? on frontend integration integration
integration.
needs. logic. processes.
Is there Pending
anything completion Leave
N/A N/A N/A
blocking of frontend day
you? integration.
40
User Characteristics: Users vary in professional backgrounds, experience levels, and career
aspirations. They seek to create dynamic, visually appealing profiles to stand out in the competitive
job market.
Location:
Target Location: The platform is accessible globally, acknowledging the widespread need for
effective job application tools across different geographical regions. It accommodates users from
diverse locations, ensuring inclusivity and relevance in various job-seeking environments.
Business Processes:
The Portfolio Website Generator encompasses the following key business processes:
a) Resume Upload and Conversion: Users upload static PDF resumes to the platform for conversion
into interactive web-based profiles.
b) Data Processing: The system processes the uploaded resumes, extracting relevant information and
structuring it into visually appealing formats.
c) Profile Customization: Users customize their profiles with templates, themes, and additional
multimedia elements to enhance presentation.
d) Deployment: Upon completion, the platform deploys them online for visibility to potential
employers.
Microservices
Our application architecture uses few microservices such as Google Passport for signup and
Razorpay for payment integration.
Event-Driven
Our project leverages an event-driven architecture to provide a dynamic and interactive user
experience. Through seamless integration of event handling mechanisms, user interactions such as
clicking buttons, uploading files, or scrolling trigger specific actions within the application. These
events serve as catalysts for various functionalities, including data fetching, UI updates, and
navigation, ensuring that users can effortlessly interact with our personalized templates and benefit
from a smooth and responsive interface.
41
The functional test cases for the portfolio website generator encompass critical aspects of the
system's functionality, ensuring its reliability and user-friendliness. The "Valid User Login" test case
validates the seamless authentication process, confirming that users can successfully log in to their
accounts using valid credentials. Meanwhile, the "Successful File Upload" test case assesses the
system's ability to efficiently handle file uploads, ensuring that users can upload their portfolio assets
without encountering errors or delays. Lastly, the "Text Extraction from PDF" test case verifies the
accuracy and effectiveness of the text extraction algorithm, ensuring that relevant information can be
extracted accurately from uploaded PDF files to populate the user's portfolio website. Successful
execution of these test cases demonstrates the system's readiness for deployment, with any identified
issues serving as opportunities for refinement to enhance overall performance and usability. Functional
test case document of Hardware and Software Integration is mentioned below in the table 3.12.
42
Table 3.11 Functional test case document of Hardware and Software
43
File Upload Successful File Upload section of the website. The file is uploaded successfully. Pass Pdf files can only be uplaoded.
to the website.
2. Click on the "Upload" button.
The application should extract text from Text is successfully extracted from
1. Access the text extraction
the uploaded pdf. the pdf. Text Extracted and Portfolio website is
Text Extraction Text Extraction from PDF feature in the application. Pass
The extracted text should be displayed Extracted text is displayed on the generated.
2. Upload a pdf containing text.
on the template. template.
3.2.7 Defect Report
A Table 3.13 Defect Report serves as a critical tool for identifying and documenting issues
encountered during the testing phase of software development. It provides detailed information about
the defect, including its nature, severity, steps to reproduce, and any additional relevant details. This
report facilitates communication between testers, developers, and stakeholders, ensuring that defects
are addressed promptly and effectively. By systematically logging and tracking defects, teams can
prioritize and allocate resources efficiently to resolve them, ultimately improving the overall quality
and reliability of the software product.
44
Table 3.12 Defect Report of Hardware and Software Integration
45
3.2.8 Sprint Retrospective
In the Sprint Retrospective for the portfolio website generator project, several key insights and
reflections emerged from the team's recent sprint. Significant achievements included the successful
integration of real-time alert features and the incorporation of geolocation data, which bolstered the
system's functionality. Valuable lessons were learned through collaborative problem-solving sessions
and the implementation of automated testing, highlighting the importance of these practices in ensuring
project success. However, areas for improvement were also identified, such as the need for better
documentation of external libraries and structured training sessions on new technologies. Additionally,
the team expressed a desire for enhanced feedback mechanisms for UI elements and improved
coordination with hardware teams. These reflections will inform future sprints, guiding the team
towards greater efficiency and effectiveness in project execution. Sprint retrospective table is
mentioned below in table 3.13.
Table 3.13 Sprint retrospective of Hardware and Software Integration
Sprint Retrospective
Liked Learned Lacked Longed For
Discuss lessons
Share aspects of the learned, whether they Identify areas where the Discuss any desires or
sprint that you are related to team felt a lack of expectations that the team
enjoyed or found processes, technical resources, support, or had but were not met
particularly effective. aspects, or teamwork. information. during the sprint.
Enjoyed developing
Gained insights into Required more expertise Aspired for more diverse
user-friendly file
data processing and in optimizing large file and customizable
upload functionality
extraction techniques. handling. template options.
with intuitive design.
Appreciated the
Learned about Needed deeper Desired smoother
creativity involved in
template integration understanding of API integration between
designing pre-built
techniques and rate limiting and fair templates and uploaded
templates using React
dynamic data linking. usage policies. data.
components.
Liked the challenge of
Acquired knowledge Lacked experience in Longed for enhanced
implementing secure
of DevOps principles setting up subdomains monitoring and
payment gateway
and deployment for customized user optimization tools for
integration for
strategies. portfolios. deployment processes.
seamless transactions.
46
3.3 Sprint 3 - Deployment Optimization and Infrastructure Scaling
Sprint 3 marks the final phase of development for the portfolio website generator project,
focusing on refining features, optimizing performance, and preparing for deployment. Building on the
foundational work accomplished in previous sprints, Sprint 3 aims to enhance user experience,
strengthen security measures, and streamline the deployment process. With a keen focus on delivering
a polished and user-friendly product, this sprint emphasizes the integration of payment gateways,
implementation of rate limiting policies, and finalization of DevOps deployments. Additionally,
attention is directed towards addressing any remaining bugs or issues identified during testing,
ensuring a seamless and error-free user experience. Sprint 3 represents the culmination of the project's
development efforts, setting the stage for the product's launch and subsequent user adoption.
3.3.1 Sprint 3 - Capacity Plan for Deployment Optimization and Infrastructure Scaling
The following capacity plan outlines the resource allocation and workload distribution for
Sprint 2 of our project. We, as a team, are committed to achieving our goals effectively and efficiently.
Vishal and Ronit, our dedicated developers, have planned to work for 26 days and 20 days,
respectively. Throughout the sprint, Vishal and Ronit will allocate time for coursework activities and
upskilling to ensure continuous learning and growth. As the Scrum Master, I will facilitate the process,
dedicating two days for planned leave, two days for coursework, and three days for upskilling while
working for 20 days. Our Product Owner, responsible for guiding development, has allocated 26 days
for work, with three days for planned leave, two days for coursework, and one day for upskilling. This
meticulous planning aims to maintain a balanced workload and optimize productivity, allowing us to
deliver high-quality results within the sprint timeline.
Table 3.14 Capacity plan of Deployment Optimization and Infrastructure Scaling
47
3.3.2 Detailed Estimation of User Stories for Deployment Optimization and Infrastructure
Scaling
In Sprint 3, our development team shifted its focus towards implementing crucial mechanisms
aimed at ensuring equitable resource allocation and preventing abuse within our portfolio website
generator platform. This phase marked a pivotal stage in our project's evolution, as we sought to
establish robust measures to uphold fairness and maintain the integrity of our platform. At the forefront
of our objectives was the implementation of rate limiting and a fair usage policy, which served as
foundational elements in fostering a balanced and sustainable user environment.
Central to our efforts was the development of mechanisms to restrict users from engaging in
excessive resource utilization beyond predefined limits. We recognized the importance of safeguarding
our platform's resources to ensure optimal performance and mitigate the risk of system overload. By
implementing stringent controls and limitations, we aimed to prevent individual users from
monopolizing resources, thereby fostering an environment conducive to fair access and usage for all.
An essential aspect of our task involved enforcing limitations on API calls based on predefined
rate limits. This required the implementation of sophisticated tracking mechanisms to monitor user
activity and API usage in real-time. Through the integration of robust tracking and enforcement
systems, we empowered our platform to dynamically adjust resource allocations and enforce rate limits
in accordance with predefined thresholds. This proactive approach not only helped optimize resource
utilization but also ensured that users adhered to established usage guidelines, promoting fairness and
preventing potential abuse.
Collaboration with stakeholders played a pivotal role in shaping our approach towards defining
usage and rate limits. We engaged in thorough discussions and consultations to gain insights into user
needs and expectations while considering factors such as resource availability and user subscription
plans. By aligning our policies with user requirements and industry standards, we aimed to strike a
balance between providing flexibility for users and safeguarding the stability and sustainability of our
platform.
48
transparency, and sustainability within our portfolio website generator platform. Through meticulous
planning, collaboration, and execution, we established robust mechanisms to regulate resource
utilization, enforce usage guidelines, and foster an environment conducive to equitable access and
usage for all users.
Central to our efforts was the integration of a reliable payment gateway to facilitate secure and
convenient transactions. We recognized the importance of providing users with a seamless payment
experience while prioritizing security and reliability. To achieve this, we opted to implement
Razorpay, a trusted payment processing solution known for its robust features and seamless integration
capabilities. By leveraging Razorpay's services, we aimed to offer users a range of payment options
and ensure that transactions were conducted securely and efficiently.
Throughout the development process, our team prioritized the security and reliability of both
payment transactions and subdomain creation. We implemented stringent measures to safeguard users'
financial information and personal data, adhering to industry best practices and compliance standards.
Additionally, we conducted thorough testing and validation to ensure the seamless functioning of
payment processing and subdomain creation functionalities across different scenarios and user
interactions.
49
In conclusion, Sprint 3 marked a significant milestone in our project's journey, as we
successfully implemented payment integration and subdomain creation features to enhance the
functionality and usability of our portfolio website generator platform. Through careful planning,
collaboration, and execution, we empowered users to seamlessly make payments for deploying their
websites and create unique subdomains to showcase their professional identity online.
3.3.2.3. Payment integration and Making subdomains
In Sprint 3, our focus shifted towards optimizing the deployment process to ensure efficient
and reliable releases of the portfolio websites generated through our platform. Our primary objective
was to streamline the deployment pipeline and establish a robust infrastructure for hosting and serving
the deployed websites. To achieve this, we adopted a DevOps approach, integrating development and
operations practices to automate and streamline the deployment process.
Central to our deployment strategy was the utilization of Amazon EC2 instances and Nginx for
hosting and serving the portfolio websites. We recognized the scalability, flexibility, and reliability
offered by EC2 instances, making them an ideal choice for our deployment needs. By leveraging EC2
instances, we could easily provision virtual servers and configure them to meet the specific
requirements of hosting portfolio websites.
Additionally, we deployed Nginx as a web server and reverse proxy to efficiently handle
incoming HTTP requests and serve static and dynamic content. Nginx's lightweight and high-
performance architecture made it well-suited for our deployment environment, ensuring fast and
reliable delivery of portfolio websites to users.
Throughout the deployment process, we prioritized reliability, security, and performance to
ensure optimal user experience. We implemented robust monitoring and logging mechanisms to track
the health and performance of the deployment environment, enabling timely detection and resolution
of any issues that may arise. Furthermore, we implemented cost optimization strategies to minimize
operational expenses while maximizing resource utilization and efficiency.
In conclusion, Sprint 3 marked the culmination of our efforts to establish a streamlined and
efficient deployment process for the portfolio websites generated through our platform. By leveraging
DevOps practices and utilizing technologies such as Amazon EC2 and Nginx, we were able to ensure
reliable, secure, and performant deployment of portfolio websites while optimizing costs and
enhancing the overall user experience.
50
Table 3.15 Detailed estimation of Deployment Optimization and Infrastructure Scaling
51
3.3.3 Daily Scrum Activities
In Sprint 3, team members Vishal Gaur and Ronit Kumar demonstrated commendable progress
and collaboration in their daily scrum activities. They diligently provided updates on their tasks,
showcasing their involvement in various project activities such as refining features, conducting
usability testing, integrating payment gateways, and finalizing documentation. Daily scrum activity of
Deployment Optimization and Infrastructure Scaling is given in the table 3.16 below.
Table 3.16 Daily scrum activity of Deployment Optimization and Infrastructure Scaling
Week-9
Team
Wednesda Frida
membe Question Monday Tuesday Thursday
r y y
Started
Created
implementin
What did Reviewed Explored UI wireframes
g frontend
you do requirement design patterns and On
for rate
yesterday s for rate for fare usage prototypes for leave
limiting and
? limiting. policy. rate limiting
fare usage
UI.
policy.
Integrating
Vishal Designing Conducting
Iterating on frontend with
Gaur What are UI usability
design based on backend On
you doing components testing on
feedback and functionality leave
today? for setting rate limiting
testing. for rate
rate limits. interface.
limiting.
Is there Waiting for
anything approval on Leave
N/A N/A N/A
blocking design day
you? direction.
What did Discussed Implemented Implemented
Researched fare
you do rate limiting backend logic backend On
usage policies
yesterday requirement for rate logic for fare leave
and regulations.
? s with team. limiting. usage policy.
Writing Optimizing
Refining Conducting
What are JavaScript performance
backend logic unit tests on On
Ronit you doing code for rate of rate
based on rate limiting leave
Kumar today? limiting limiting
frontend needs. functionality.
logic. processes.
Pending
Is there
completion of
anything Leave
N/A backend N/A N/A
blocking day
implementation
you?
.
52
Week-10
Team
Wednesda Frida
membe Question Monday Tuesday Thursday
r y y
Created
Reviewed wireframes Started
What did Explored UI
requirement and implementin
you do design patterns On
s for prototypes for g frontend
yesterday for payment leave
payment payment for payment
? interface.
integration. integration integration.
UI.
Vishal Designing Integrating Conducting
Iterating on
Gaur What are UI frontend with usability
design based on On
you doing components backend testing on
feedback and leave
today? for payment payment payment
testing.
options. functionality. interface.
Is there Waiting for
anything approval on Leave
N/A N/A N/A
blocking design day
you? direction.
Discussed Implemented
What did Researched Implemented
payment logic for
you do payment backend logic On
integration creating
yesterday gateways and for payment leave
requirement subdomains
? APIs. processing.
s with team. dynamically.
Writing
JavaScript Refining Conducting Optimizing
What are
Ronit code for backend logic unit tests on performance On
you doing
Kumar payment based on payment of payment leave
today?
integration frontend needs. functionality. processes.
logic.
Pending
Is there
completion of
anything Leave
N/A backend N/A N/A
blocking day
implementation
you?
.
53
Week-11
Team
member
Question Monday Tuesday Wednesday Thursday Friday
Configured Set up Deployed
What did Prepared
NGINX domain frontend On
you do frontend code
settings for settings on code to EC2 leave
yesterday? for deployment.
hosting. GoDaddy. instance.
Testing
Conducting
What are Troubleshooting website Finalizing
Vishal final checks On
you doing deployment functionality domain
Gaur before leave
today? issues. on EC2 configuration.
launch.
instance.
Is there
anything Leave
N/A N/A N/A N/A
blocking day
you?
Optimized
Configured Configured Ensured
What did NGINX
backend DNS records server On
you do performance
services for for security and leave
yesterday? for
deployment. subdomains. permissions.
scalability.
Troubleshooting Conducting Finalizing Conducting
Ronit What are
backend load testing DNS settings security On
Kumar you doing
deployment on deployed for audits on leave
today?
issues. services. subdomains. the server.
Is there
anything Leave
N/A N/A N/A N/A
blocking day
you?
Introduction:
The online resume transformation platform is an innovative project aimed at revolutionizing the
traditional job application process. In a dynamic job market, presenting one's professional journey
effectively is crucial. Our platform addresses this need by offering a user-friendly solution to convert
static PDF resumes into interactive, visually appealing web-based profiles. By embracing cutting-
edge technologies, we aim to empower users in showcasing their skills and experiences in a way that
stands out to potential employers.
54
Product Goal:
The primary goal of our platform is to provide users with a tool that enhances the presentation of
their professional information. We seek to streamline the job application process by transforming
conventional resumes into dynamic, interactive profiles that capture the attention of recruiters.
Users:
Target Users: The Portfolio Website Generator caters to a diverse user base including job seekers,
professionals, and students worldwide. It serves individuals aiming to enhance their online
professional presence.
User Characteristics: Users vary in professional backgrounds, experience levels, and career
aspirations. They seek to create dynamic, visually appealing profiles to stand out in the competitive
job market.
Location:
Target Location: The platform is accessible globally, acknowledging the widespread need for
effective job application tools across different geographical regions. It accommodates users from
diverse locations, ensuring inclusivity and relevance in various job-seeking environments.
Business Processes:
The Portfolio Website Generator encompasses the following key business processes:
a) Resume Upload and Conversion: Users upload static PDF resumes to the platform for conversion
into interactive web-based profiles.
b) Data Processing: The system processes the uploaded resumes, extracting relevant information and
structuring it into visually appealing formats.
c) Profile Customization: Users customize their profiles with templates, themes, and additional
multimedia elements to enhance presentation.
d) Deployment: Upon completion, the platform deploys them online for visibility to potential
employers.
Features:
55
a) Description: The platform parses the content of uploaded PDF resumes, extracting relevant
information such as work experience, education, skills, and contact details. It then dynamically
generates an HTML/CSS portfolio based on the parsed information, ensuring a visually appealing
and professionally formatted online profile.
b) User Story: As a user, I want the platform to efficiently parse my PDF resume and automatically
create an attractive HTML/CSS portfolio, enabling me to showcase my professional information
effectively to potential employers.
Authorization Matrix
Define the roles and their corresponding access levels:
Assumptions:
1. Users will have access to reliable internet connections for an optimal platform experience.
2. The text extraction tool will provide accurate results for diverse resume formats.
3. The platform will comply with data privacy regulations to ensure the confidentiality of user
information.
5. Regular updates and improvements will be made based on user feedback and evolving
industry trends.
56
3.3.5 Architecture Document
The frequency of data exchange in a portfolio website generator varies based on user interactions and
system requirements, occurring during actions like file uploads, design changes, and website
publishing.
3. Mode of Exchanges (API, File, Queue etc.)
Our project primarily utilizes API-based exchanges for several reasons. APIs offer a
standardized and efficient means of communication between different software components,
allowing seamless integration and data transfer. By leveraging APIs, we can easily connect our
system with external services and resources, such as payment gateways for handling transactions,
cloud storage for managing user data, and hosting platforms for deploying websites. Additionally,
APIs provide a structured way to access and manipulate data, enabling us to extract information from
uploaded resumes, process payments securely, and interact with various functionalities within our
platform. This approach enhances flexibility, scalability, and maintainability, as we can adapt to
changes in external services and extend our system's capabilities by integrating with new APIs or
updating existing ones without disrupting the overall functionality. Overall, API-based exchanges
streamline our project's operations, ensuring smooth interactions and robust performance across the
entire ecosystem.
3.3.6 Functional Test Case Document
The functional test cases for the portfolio website generator encompass critical aspects of user
interaction and system functionality. "Valid User Login" ensures the seamless authentication process,
allowing users to access their accounts securely. "Successful File Upload" verifies the system's
capability to upload files, a fundamental feature for users to add content to their portfolios. "Text
Extraction from PDF" tests the accuracy and reliability of the data extraction algorithm, ensuring that
information from uploaded documents is extracted correctly. Lastly, "Successful Payment Process"
confirms the smooth integration of payment gateways, enabling users to subscribe to premium features
effortlessly. Together, these test cases ensure the robustness and usability of the portfolio website
generator, enhancing the user experience and facilitating efficient website creation. Function Test case
of Deployment Optimization and Infrastructure Scaling are given below in the table 3.17.
57
Table 3.18 Function Test case of Deployment Optimization and Infrastructure Scaling
Functional Test Case Template
Feature Test Case Steps to execute test case Expected Output Actual Output Status More Information
Open the application's login page.
The user should be successfully logged The user was able to log in.
Enter a valid username. into the system.
User Login Valid User Login Pass User can also login using google passport
Enter a valid password. The application should redirect the user to The application redirects the user to
the home page. the home page.
Click on the "Login" button.
58
The application should extract text from Text is successfully extracted from
1. Access the text extraction
the uploaded pdf. the pdf. Text Extracted and Portfolio website is
Text Extraction Text Extraction from PDF feature in the application. Pass
The extracted text should be displayed Extracted text is displayed on the generated.
2. Upload a pdf containing text.
on the template. template.
59
Table 3.18 Defect Report of Deployment Optimization and Infrastructure Scaling
60
3.3.8 Sprint Retrospective
As documented in Table 3.19, the Sprint Retrospective for the portfolio website generator
scrutinizes various facets of the sprint, highlighting achievements, insights gained, areas necessitating
refinement, and unmet anticipations. Remarkable successes encompass the seamless integration of
real-time alert generation and the substantial augmentation of geolocation data within the system.
Valuable lessons were gleaned from collaborative problem-solving endeavors and the deployment of
automated testing protocols. However, challenges surfaced due to inadequacies in documenting
external libraries and a dearth of feedback on user interface components. Additionally, the team
identified a need for more structured training sessions and improved coordination with hardware
counterparts. Through conscientious reflection and deliberation, the team aims to streamline processes
and pinpoint opportunities for enhancement in forthcoming sprints.
Table 3.19 Sprint Retrospective for Deployment Optimization and Infrastructure
Scaling
Sprint Retrospective
Liked Learned Lacked Longed For
Discuss lessons
Share aspects of the learned, whether they Identify areas where the Discuss any desires or
sprint that you are related to team felt a lack of expectations that the team
enjoyed or found processes, technical resources, support, or had but were not met
particularly effective. aspects, or teamwork. information. during the sprint.
Enjoyed
Gained insights into Needed more expertise Aspired for enhanced
implementing rate
payment gateway in setting up and deployment monitoring
limiting policies for
integration and secure managing subdomains and optimization
fair resource
transaction handling. for user portfolios. capabilities.
allocation and usage.
Found satisfaction in Learned about Lacked advanced Desired smoother
streamlining optimizing resource knowledge in integration with third-
deployment processes management for configuring and party APIs and services
and ensuring reliable efficient usage managing payment for extended
deployments. tracking. gateways. functionality.
61
CHAPTER 4
62
4.3 Outcome of Refinement, Optimization, and Deployment
a) Rate Limiting & Fair Usage Policy Implementation: Implemented mechanisms for equitable
resource allocation and abuse prevention. Enforced usage and API rate limits based on predefined
policies.
b) Payment Integration and Subdomain Creation: Integrated Razorpay for secure payment processing.
Enabled the creation of subdomains for user websites upon successful payment.
c) Final DevOps Deployments Setup: Streamlined the deployment process for efficient releases. Set up
deployment using EC2 instance and Nginx, ensuring reliability, security, and performance.
63
CHAPTER 5
5.1 Conclusion
In our Portfolio Website Generator project, we have developed innovative solutions to address the
needs of users seeking to create professional online portfolios. Firstly, we have implemented a robust
alert system to notify users of any potential issues during the portfolio creation process. For instance,
if the system detects any errors or inconsistencies in the uploaded PDF resume, it promptly alerts the
user, allowing them to review and rectify the issues before proceeding.
Secondly, our project incorporates advanced facial recognition technology to enhance security
measures within the portfolio website. By implementing facial recognition, users can ensure that only
authorized individuals have access to their portfolio content. This feature not only safeguards sensitive
information but also enhances the overall security of the portfolio website, protecting it from
unauthorized access and potential breaches.
As we continue to advance in the field of AI and technology, our project strives to leverage these
advancements to provide users with smarter, more efficient solutions. By integrating various models
and algorithms, we aim to optimize the portfolio creation process, making it more intuitive and user-
friendly for individuals of all skill levels.
In a world where online presence is paramount, our project offers cost-effective solutions to real-world
challenges faced by professionals seeking to showcase their skills and accomplishments. By notifying
users of any potential errors and providing enhanced security features, our project aims to empower
individuals to create compelling online portfolios that effectively represent their personal brand and
professional expertise. Ultimately, by streamlining the portfolio creation process and enhancing
security measures, our project contributes to the success and safety of users in the digital landscape.
64
5.2 Future Enhancement
In the future, our Portfolio Website Generator project could undergo several enhancements to further
improve user experience and functionality. Firstly, we could expand the range of available templates
to offer users a more diverse selection of designs and layouts to choose from. This would allow users
to find a template that best suits their personal preferences and professional needs.
Additionally, we could refine the parsing algorithms used to extract data from uploaded PDF resumes.
By optimizing these algorithms, we can ensure greater accuracy and reliability in transferring
information from the resume to the portfolio website. This would minimize errors and inconsistencies,
resulting in a more polished and professional-looking final product.
Another potential enhancement could involve incorporating a feature that allows users to edit the code
of their portfolio website templates. By giving users the ability to customize the underlying code, they
can make more advanced modifications and tailor the design to better reflect their unique style and
branding.
Furthermore, implementing a drag-and-drop functionality for adding elements to the portfolio website
could significantly enhance the user interface and make the website creation process more intuitive
and interactive. This would empower users to easily rearrange and customize the layout of their
portfolio pages without requiring any coding knowledge.
Overall, by incorporating these future enhancements, our Portfolio Website Generator project can
continue to evolve and provide users with a comprehensive and user-friendly platform for creating
professional online portfolios. These enhancements would contribute to a more seamless and
personalized experience, ultimately enhancing the value and utility of the project for users.
65
APPENDIX
Major area of invention : Converting PDF resumes into interactive HTML/CSS portfolios
Narrow focus area of invention : Developing algorithms to parse PDF content and generate visually
appealing HTML/CSS portfolios
Earlier status of research : Identified a need for a solution to convert static PDF resumes into
dynamic online portfolios, leading to the development of the PDF to
HTML/CSS Portfolio Converter project
How different your invention from : This invention offers a unique solution for converting PDF resumes
into HTML/CSS portfolios with user-friendly customization options
similar research / others - Novelty?
Possible domain for field application : Job seekers, professionals, students, and anyone looking to enhance
their online professional presence
Possible sector for commercialization : Recruitment agencies, educational institutions, career counselling
services, job search platforms, and professional networking websites
66
Invention Disclosure Form
Please provide highly relevant information for details asked below and use consistent
language while describing the specific feature or element in the invention disclosure.
1. Title of invention (Please indicate a title for the invention and technology of the
invention)
2. Describe the invention. (Please describe specifically about the general purpose of
invention. Is the invention a new process, device of product, system, software, or a
combination of these elements?)
4. State the Novelty of the invention and specify the claims in the invention.
The novelty of the invention lies in its ability to automate the conversion process from
PDF to HTML/CSS format, providing users with a convenient and efficient way to
create visually appealing online portfolios. The primary claim of the invention is the
67
seamless transformation of static PDF resumes into interactive web-based portfolios
with customizable design elements.
5. Describe the advantages of the present invention over the existing technologies
(please identity the advantages e.g. efficiency, cost benefits, simplicity etc.
Cost Benefits: Users can create professional online portfolios without the need for
expensive design software or hiring a web developer.
Convenience: The invention enables users to purchase and deploy their portfolio's
domain directly within the platform, streamlining the entire process of establishing
an online presence.
Current methods of creating online portfolios may involve manual design or reliance
on pre-made templates. This invention overcomes these drawbacks by automating
the conversion process, saving users time and effort. Additionally, existing online
portfolio platforms may lack customization options or require subscription fees,
whereas this invention offers flexibility and cost-effectiveness.
The invention is useful for students, job seekers, professionals and anyone looking
to showcase their credentials online. It benefits users by providing them with a
professional and customizable platform to present their skills and experiences to
potential employers or clients.
8. Does the focus of the invention results in societal impact technology? (Please
describe how in detail, also specify the commercial applications, market need of
product/ service of invention and why?)
68
educational institutions, and professional networking websites to enhance the user
experience and streamline the hiring process.
Dependence on PDF Quality: The accuracy of parsing and conversion may vary
depending on the quality, formatting, and data of the original PDF resume.
10. Enclose the sketches, drawings, photographs, and other materials that help in better
understating/ illustration of the novelty in the invention.
B. Describe the experimental approach of the invention also state the methods
adopted in the experiment.
Gathering a diverse set of PDF resumes with varying formats and content.
Uploading the PDF resumes to the software application for parsing and
conversion.
Assessing the accuracy of parsing by comparing the extracted information
with the original resume content.
69
Soliciting feedback from users who tested the software to identify areas for
improvement.
Yes, the experimental data is documented in formal logs and reports. These
documents contain detailed records of the testing process, including:
12. Please list any of your publications (including abstracts, posters, news releases,
etc.) to emphasize the present invention background.
70
13. INVENTOR(S) AND/OR CONTRIBUTOR(S):
Signature:
INVENTOR (3)
Signature:
Citizenship INDIAN
India
(Country):
14. ASSIGNMENT DETAILS: Assignee is the entity or individual who holds the patent.
Address:
Citizenship
(Country):
71
B. SAMPLE CODING
const fs = require('fs');
if (!req.file) {
return res.status(400).send('Please upload a file');
console.log('Uploading file')
if (match) {
apiJsonRes = JSON.parse(cleanedJsonString);
72
} else {
if (req.user) {
resumeModal.create({
email: req.user.email,
fullname: req.user.fullname,
resumeData: apiJsonRes,
})
res.status(200).send(apiJsonRes);
} catch (err) {
};
try {
73
email: req.user.email,
fullname: req.user.fullname,
resumeData: req.body.userData,
})
res.status(200).send(userData);
} catch (err) {
};
try {
res.status(200).send(resume?._id);
} catch (err) {
};
74
// You can further process the extracted text here
res.status(200).send(resume);
} catch (err) {
};
try {
res.status(200).send(resume);
} catch (err) {
};
return data.text;
function extractUserInfo(text) {
const userInfo = {};
75
// Extract basic information
const basicInfoRegex = /Email: (.+?)\| Mobile: (.+?) \| GitHub: (.+?) \| LinkedIn: (.+?) \| Address:
(.+)/;
if (basicInfoMatches) {
userInfo.email = basicInfoMatches[1].trim();
userInfo.mobile = basicInfoMatches[2].trim();
userInfo.github = basicInfoMatches[3].trim();
userInfo.linkedin = basicInfoMatches[4].trim();
userInfo.address = basicInfoMatches[5].trim();
// Extract experience
const experienceRegex = /EXPERIENCE([\s\S]+?)EDUCATION/;
if (experienceMatches) {
userInfo.experience = extractExperience(experienceMatches[1]);
// Extract education
const educationRegex = /EDUCATION([\s\S]+?)LEADERSHIP EXPERIENCE/;
if (educationMatches) {
userInfo.education = extractEducation(educationMatches[1]);
76
const leadershipMatches = text.match(leadershipRegex);
if (leadershipMatches) {
userInfo.leadership_experience = leadershipMatches[1].trim();
if (skillsMatches) {
userInfo.skills = skillsMatches[1].trim().split(/,\s*/);
}
// Extract additional information
const additionalInfoRegex = /ADDITIONAL INFORMATION\n([\s\S]+)/;
if (additionalInfoMatches) {
userInfo.additional_information = additionalInfoMatches[1].trim();
return userInfo;
}
function extractExperience(data) {
77
experienceArray.push({ heading, points });
return experienceArray;
function extractEducation(data) {
educationArray.push({
institution: lines[i].trim(),
degree: lines[i + 1].trim(),
});
return educationArray;
78
C. PLAGIARISM REPORT
79
80
81