Professional Documents
Culture Documents
Future Enhancement
Future Enhancement
Future Enhancement
On
Submitted in partial fulfillment of the requirements for the award of the degree of
Submitted by
2019 - 2020
Guided By
Dr.T.Logeswari
Associate Professor
Department of Computer Science
bonafide student of New Horizon College and has carried out a project entitled
Dr.T.Logeswari. This project report has been submitted during the academic year
Dr.T.LOGESWARI Dr.T.LOGESWARI
Associate Professor Associate Professor
Guide Head of theDepartment
Ms. Sunitha S
Principal-InCharge
Date :
Place : NHC-K, Bangalore
DECLARATION
project work entitled “DraftDeck (Online Resume Builder)” is a bonafide work
original work and has not been presented for any other university. This project has
Date :
Place : NHC-K, Bangalore
ACKNOWLEDGEMENT
I would like to give our sincere acknowledgement to everybody responsible for the
successful completion of the project titled “DraftDeck(Online Resume Builder)”
Firstly, I’m very grateful to this esteemed institute “New Horizon College,
Kasturi Nagar” for providing me an opportunity to degree course.
1. SYNOPSIS 07
09
2. INTRODUCTION
3. SPECIFICATION REQUIREMENTS
● Software requirement specification 11
● Hardware requirement specification
4. SYSTEM ANALYSIS 14
● Existing system
● Proposed system
5. PERT CHART 16
6. TECHNOLOGIES USED 18
● HTML CSS PHP [FrontEnd]
● MySQL - 2010 [BackEnd]
7. FUNCTIONAL SPECIFICATION 29
9. SYSTEM IMPLEMENTATION 37
● Data flow diagram(DFD)
● Entity-relationship diagram (ERD)
● Database design (Table form)
● Table structure
11. CODING 51
13. CONCLUSION
61
14. BIBLIOGRAPHY 63
SYNOPSYIS
SYNOPSIS
DraftDeck is a online resume builder that is developed to simplify the task of creating a
resume for individuals. It provides an effective means of designing a professional looking
resume, Usually people get confused while creating a resume especially for a graduate
student, they don’t get a clear idea of things and information must be included in the
resume, so this will provide them a easy way of creating a professional looking resume.
DraftDeck is a online resume builder that is developed to simplify the task of creating a
resume for individuals. It provides an effective means of designing a professional looking
resume, Usually people get confused while creating a resume especially for a graduate
student, they don’t get a clear idea of things and information must be included in the
resume, so this will provide them a easy way of creating a professional looking resume.
SCOPE:-
This software consists of following functions:
SPECIFICATION
REQUIREMENTS
SPECIFICATION REQUIREMENTS
To be used efficiently, all computer software needs certain hardware components or the software resources
to be present on a computer. These pre-requisites are known as(computer) system requirements and are
often used as a guideline as opposed to an absolute rule. Most software defines two sets of system
requirements: minimum and recommended. With increasing demand for higher processing power and
resources in newer versions of software, system requirements tend to increase overtime.
1. HARDWAREREQUIREMENTS
The most common set of requirements defined by any operating system or software application is the
physical computer resources, also known as hardware. A hardware requirements list is often accompanied
by a hardware compatibility list (HCL), especially in case of operating systems. An HCL lists tested,
compatibility and sometimes incompatible hardware devices for a particular operating system or
application. The following sub-sections discuss the various aspects of hardware requirements.
2. SOFTWAREREQUIREMENTS
Software Requirements deal with defining software resource requirements and pre-requisites that need to
be installedon a computer to provide optimal functioning of an application. These requirements or
pre-requisites are generally not included in the software installation package and need to be installed
separately before the software is installed.
EXISTING SYSTEM
If someone wants to make his/her resume, then he/she have to look for every single detail
such as formatting, alignment, designs, patterns. So, it is a very complex process and thus, the
productivity of the resume also decreases. The existing system is very complex and making resume
via word files and excels is a tough task. Sometimes, while making a resume, a person ends up
forgetting some very crucial information while going through all these designs and formats.
Drawbacks of Existing System
PROPOSED SYSTEM
I n the proposed Online resume builder , a person has to only fill the questionnaire asked by
the online platform. All the other alignments and formats of the resume are being directly taken care of
by the system. Even, the final resume which came out is very professional as per the industry
requirement and the candidate can download the resume as per the file format he/she requires. This is
avoid need of putting manual effort for creating resume.
The system is simple in design and to implement. The system requires very low System
resources and the system will work in almost all configurations. It has got following
Features
HTML
Hypertext Markup Language (HTML) is the standard markup language for creating webpages
and web applications. With Cascading Style Sheets (CSS) and JavaScript, it forms a triad of
cornerstone technologies for the World Wide Web. Web browsers receive HTML documents
from a web server or from local storage and render the documents into multimedia web pages.
HTML describes the structure of a web page semantically and originally included for the
appearance of thedocument.
HTML elements are the building blocks of HTML pages. With HTML constructs, images and
other objects such as interactive forms may be embedded into the rendered page. HTML
provides a means to create structured documents by denoting structural semantics for text such as
headings, paragraphs, lists, links, quotes and other items. HTML elements are delineated bytags,
the page. Other tags such as <p>...</p> surround and provide information about
document text and may include other tags as sub-elements. Browsers do not display the HTML
tags, but use them to interpret the content of the page.
HTML can have embedded programs written in a scripting language such as JavaScript which
affects the behaviour and content of web pages. Inclusion of CSS defines the look and layout of
the content. The World Wide Web Consortium (W3C), maintainer of both the HTML and the
CSS standards, has encouraged the use of CSS over explicit presentational HTML since 1997.
CASCADING STYLE SHEET(CSS)
CSS Stands for "Cascading Style Sheet." Cascading style sheets are used to format the layout
of Web pages. They can be used to define text styles, table sizes, and other aspects of Web pages
that previously could only be defined in a page'sHTML.
CSS helps Web developers create a uniform look across several pages of a Web site. Instead of
defining the style of each table and each block of text within a page's HTML, commonly used
styles need to be defined only once in a CSS document. Once the style is defined in cascading
style sheet, it can be used by any page that references the CSS file. Plus, CSS makes it easy to
change styles across several pages at once. For example, a Web developer may want to increase
the default text size from 10pt to 12pt for fifty pages of a Web site. If the pages all reference the
same style sheet, the text size only needs to be changed on the style sheet and all the pages will
show the larger text.
While CSS is great for creating text styles, it is helpful for formatting other aspects of Web page
layout as well. For example, CSS can be used to define the cell padding of table cells, the style,
thickness, and color of a table's border, and the padding around images or other objects. CSS
gives Web developers more exact control over how Web pages will look than HTML does. This
is why most Web pages today incorporate cascading style sheets.
Example
CSS is used to style and layout web pages — for example, to alter the font, colour, size and
spacing of your content, split it into multiple columns, or add animations and other decorative
features. This module gets you started on the path to CSS mastery with the basics of how it
works, including selectors and properties, writing CSS rules, applying CSS to HTML, how to
specify length, colour, and other units in CSS, cascade and inheritance, and debugging CSS.
<html>
<head>
<meta charset="utf-8">
<title>My CSS experiment</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>Hello World!</h1>
<p>This is my first CSS example</p>
</body>
</html>
Now let's look at a very simple CSS example containing two rules:
h1 {
color: blue;
background-color: yellow;
border:1px solid black;
}
p{
color: red;
}
At this point you have some choices of how to use the CSS, either internally or externally.
With this method each (X)HTML file contains the CSS code needed to style the page. Meaning
that any changes you want to make to one page, will have to be made to all. This method can be
good if you need to style only one page, or if you want different pages to have varying styles.
Either of these methods are achieved by placing one or the other in the head section as shown in
example below.
<head>
<title><title>
<link rel=”stylesheet” type=”text/css”href=”style.css” />
</head>
<body>
or
<head>
<title><title>
<style type=”text/css”>@import url(Path To stylesheet.css) </style>
</head>
<body>
By using an external style sheet, all of your (X)HTML files link to one CSS file in order to style
the pages. This means, that if you need to alter the design of all your pages, you only need to edit
one .css file to make global changes to your entire website.
Here are a few reasons this is better.
● Easier Maintenance
● Reduced FileSize
● ReducedBandwidth
● ImprovedFlexibility
BOOTSTRAP
Bootstrap is a free and open-source CSS framework directed at responsive, mobile-
first front-end web development. It contains CSS- and JavaScript-based design templates,
forms, buttons, navigation and other interfacecomponents.
Bootstrap is a powerful front-end framework for faster and easier web development. It includes
HTML and CSS based design templates for common user interface components like
Typography, Forms, Buttons, Tables, Navigations, Dropdowns, Alerts, Modals, Tabs,
According, Carousel and many other as well as optional JavaScriptextensions.
Bootstrap also gives you ability to create responsive layout with much less efforts.
Advantages of Bootstrap
The biggest advantage of using Bootstrap is that it comes with free set of tools for creating
flexible and responsive web layouts as well as common interface components.
Additionally, using the Bootstrap data APIs you can create advanced interface components like
Scrollspy and Typeaheads without writing a single line of JavaScript.
Here are some more advantages, why one should opt for Bootstrap:
Save lots of time — You can save lots of time and efforts using the Bootstrap predefined design
templates and classes and concentrate on other development work.
Responsive features — Using Bootstrap you can easily create responsive designs. Bootstrap
responsive features make your web pages to appear more appropriately on different devices and
screen resolutions without any change in markup.
Consistent design — All Bootstrap components share the same design templates and styles
through a central library, so that the designs and layouts of your web pages are consistent
throughout your development.
Easy to use — Bootstrap is very easy to use. Anybody with the basic working knowledge of
HTML and CSS can start development with Bootstrap.
Compatible with browsers — Bootstrap is created with modern browsers in mind and it is
compatible with all modern browsers such as Mozilla Firefox, Google Chrome, Safari, Internet
Explorer, and Opera.
Open Source — And the best part is, it is completely free to download and use.
PHP
PHP started out as a small open source project that evolved as more and more people found out how useful it
was. Rasmus Lerdorf unleashed the first version of PHP way back in 1994.
● PHP is a recursive acronym for "PHP: Hypertext Preprocessor".
● PHP is a server-side scripting language that is embedded in HTML. It is used to manage dynamic
content, databases, session tracking, even build entire e-commerce sites.
● It is integrated with a number of popular databases, including MySQL, PostgreSQL, Oracle, Sybase,
Informix,and Microsoft SQL Server.
● PHP is pleasingly zippy in its execution, especially when compiled as an Apache module on the Unix
side. The MySQL server, once started, executes even very complex queries with huge result sets in
record-setting time.
● PHP supports a large number of major protocols such as POP3, IMAP, and LDAP. PHP4 added support
for Java and distributed object architectures (COM and CORBA), making n-tier development a
possibility for the first time.
● PHP is forgiving: PHP language tries to be as forgiving as possible.
● PHP Syntax is C-Like.
However, there are some limitations of MySQL as well. For example, it does not support joins
like RIGHT OUTER JOIN and FULL OUTER JOIN. But the advantages are way more than the
limitations. In this tutorial, you will be introduced to using MySQL in Python and following is
the overview of the contents this tutorial covers-
Installation and setup
Installing and setting up MySQL takes a matter of a few minutes. You can use MySQL from the
command line tools, but there is a GUI-based utility which lets you use MySQL through a decent
graphical interface. For this tutorial, you will be using DB Browser for MySQL. To start, you
will first download this tool from here with respect to your OS platform.
After clicking on the New Database tab, you will be prompted to enter a name for the database.
Give a name of your choice and then proceed. An empty database of the name that you entered
will be created instantaneously, and you will be prompted to create a table under that database.
You can skip the table creation part, for now, you will get to it shortly.
DB Browser lets you specify many things here including the names of the table. Make sure you
check the Column names in the first lineoption, so that MySQL can extract the column names
automatically. Click on OK after you are done with the specifications.
FUNCTIONAL
SPECIFICATION
FUNCTIONAL SPECIFICATION
MODULE
Main Modules
1. Registration
2. Login
3. Information
4. Resume
5. Update Information
6. Template
7. Download
Login Module
1. Username
2. Password
Information Modules
Template Modules
● The user will have some templates to choose, they can change it as per their likes.
Download Modules
● The user can download their resume in the pdf format and share it.
SYSTEM DESIGN
&
DATABASE DESIGN
SYSTEMDESIGN
The design phase is the life cycle phase in which the detailed design of the
selected system in the study phase is accomplished. In the design phase, the technical
specifications are prepared for the performance of all allocated tasks. It also includes the
construction of programs and program testing.
In the design phase, the first step is to determine the output is to be produced and
in what format. Second, input data and master files have to be designed to meet the requirements
of proposed output.
The system analyst has to define the methods of capturing and input programs
and format of the output and its use by the users.
A data flow diagram is graphic representation of a system that shows data flows
to, from and within the system, processing functions that change the date in some manner, and
the storage of this data. They are networks of related system function that indicated form where
information is revived and to where it is sent. An external entity is the originator or receiver of
data or information.
.
A data store symbol portrait a file or database in which data resides. A process is
depicted by a circle sometimes it is called a bubble or transform. Process portraits the
transformation of the content of status of data
DATABASE DESIGN
This activity deals with the design of the physical database. The designer begins to
concentrate on file design or how data should be organized around user requirements. How data
are organized depends on the data and response requirements that determine hardware
configurations.
An integrated approach to file design is the database. The general theme is to handle
information as an integrated whole, with a minimum of redundancy and improved performance,
type and size of data structure used. The objectives of data base are accuracy and integrity,
privacy and security of data etc.
CODE DESIGN
Codes can provide brief identification of data items and replace longer
descriptions that would be more awkward to store and to manipulate.
INPUT DESIGN
Input design is processing of converting the user oriented description of the
inputs of the system. The goal of designing input data to make data entry as easy logical and free
from errors as possible. In entering data, operates need to know the following.
When we approach input data design, we design source documents that capture the data and
then selected the media use to enter them into the computer. There are different ways in which
data can be introduced into the system such as,
a. The data is converted into a machine sensible from by some realistic source
document and types in the relevant items using a keyboard connected to the system.
b. The document can beread directly by a machine and this converts information held
in the human sensible form into a machine-readable form without need for human
investigations.
c. Data entered into a system through a keyboard. This is done interactively by the
person using the system.
e. processing.
f. The data entry in the system has been designed so as to make to user friendly and also
to incorporate certain validation checks.
The field name must be documented. The field name must be known to data entry operator or
users so that the data entry will not exceed the allocated space. Our system contains the
following inputs.
OUTPUT DESIGN
The primary consideration in the design of all output is the information requirement and
other objective of the users. It is the most important and direct source of information to the user.
A major form of output is a hard copy. Print out should be designed around the output
requirements of the user. Each output should be given a specific name or title. The output data
is displayed on the visual display unit and output can be redirected to printers and or sorted in a
file for lateruse.
Here, in this system, program is designed so as to generate a number of relevant outputs
displayed in various kinds of user-defined tables in an easily readable and comprehensive
manner which can be readily read and understood by the user. So no further attempt has been
made to generate reports which of course could have been easily implemented into thesystem.
PROCEDURE DESIGN
When program become very long, they are divided into smaller programs or modules.
These smaller programs can be written, tested and debugged separately. This technique of
programming is known as modular programming. The advantages of modular programming are.
1. It is easy to write, test and debug amodule.
2. Generally, the modules of common nature are prepared, which can be used at manyplaces.
3. The programmer can use the previously writtenprograms.
4. If a change is to be made, it is made in the particular module; the entire program is not
affected.
SYSTEM
IMPLEMENTATION
SYSTEM IMPLEMENTATION
PROGRAM DEVELOPMENT
In the case of program development first of all the problem is defined. It includes input-
output specifications, requirements, execution times, accuracy etc. A necessary system
flowchart is expended to show additional detail input and out files are identified, and computer
programs logic flowchart are prepared for each computer program component. An algorithm
can also write to solve the problem. The following are the stages for the development of
software.
1. Problem definition
2. Program design
3. Coding
4. Debugging
5. Testing
6. Documentation
7. Maintenance, Extension, andRedesign.
The criteria for evolution of a program are reliability, speed hardware cost, programming
time and cost of use error tolerance and extensibility. A good program should utilize memory
and times efficiently. An interface should be simple and less costly as far as possible to perform
a ascertain task. Good design and clear documentation make a program simple and it can be used
by others.
SOFTWARE SELECTION
Software selection is critical aspect of system development. These are two ways of acquiring
software custom-made or “off-the-shelf” packages. Today’s trend towards purchasing packages,
which represent roughly 10 percent of what are costs to, developed same in house. Prior to
selecting the software, the project team must setup criteria for software selection.
SECURITY FEATURES
Every candidate system must provide built in for security and integrity of data. Without
safeguards against unauthorized access and natural disasters, a system could be so vulnerable as
to threaten survival of the organization. To do an adequate job on security, a system analyst
must analyze the risks, exposure and costs and specify measures such as passwords and
encryption to provide protection. In addition, backup copies of software and recovery re start
procedures must be available when needed.
ANALYSIS
Data flow diagram is a graphical representation of data movement, process files used in
support of an information system. Unlike detail flow charts, DFDs do not supply detailed
description of modules but graphically describe a system’s data and how the data interact with
the system. Workflow focuses on what happens to the data through various points in the system.
A data flow diagram represents the information at each processing points in the system and the
direction it takes from the source and destination
To construct a data flow diagram, we use
❖ Arrows
❖ Circles
❖ Open-ended boxes
❖ Squares
An arrow identifies data flow or data in motion. Circle stands for a process that converts
data into information. An open-ended box represents a data source or a temporary repository of
data. A square defines a source or the destination of given data
Entity Set
Attribute
Relationship Set
Primary Key
E-R data model employs three basic notions: entity sets, relationship sets and attributes.
Entity set an entity is a thing or object in the real world that is distinguishable from all other
objects. An entity has a set of properties and values of some properties uniquely define the
entities. An entity set is the set of all the entities of same type that share same properties or
attributes.
Attributes attributes are the descriptive properties possessed by each member of an entity set.
Each entity may have its own value for each attribute. For each attribute, there is a set of
permitted values, called as domain or value set of an attribute.
Relationship set a relationship is an association among several entities. A relationship set is the
set of the relationships of same type. The function that an entity plays in a relationship is the
entity’s role. A relationship may also have attributes called as descriptive attributes.
⎫ Controlled Redundancy
⎫ Data independence
⎫ Accurate and integrating
⎫ More information at low cost
⎫ Recovery from failure
⎫ Privacy and security
⎫ Performance
⎫ Ease of learning and use
Testing
Software testing is a critical element of software quality assurance and represents the
ultimate review of specification, design and coding. In fact, testing is the one step in the software
engineering process that could be viewed as destructive rather than constructive.
A strategy for software testing integrates software test case design methods into a well-
planned series of steps that result in the successful construction of software. Testing is the set of
activities that can be planned in advance and conducted systematically. The underlying
motivation of program testing is to affirm software quality with methods that can economically
and effectively apply to both strategic to both large and small-scale systems.
The software engineering process can be viewed as a spiral. Initially system engineering
defines the role of software and leads to software requirement analysis where the information
domain, functions, behavior, performance, constraints and validation criteria for software are
established. Moving inward along the spiral, we come to design and finally to coding.
Component Testing
Integration Testing
User Testing
Unit Testing
Unit testing focuses verification effort on the smallest unit of software design, the module. The
unit testing we have is white box oriented and some modules the steps are conducted in parallel.
1. WHITE BOXTESTING
2. BASIC PATHTESTING
Established technique of flow graph with Cyclomatic complexity was used to derive test cases for all
the functions. The main steps in deriving test cases were:
Use the design of the code and draw correspondent flow graph.
V(G)=E-N+2 orV(G)=P+1 or
V(G)=Number Of Regions
Where V(G) is Cyclomatic complexity, E is the number of edges,N is the number of flow graph
nodes, P is the number of predicate nodes.
In this part of the testing each of the conditions were tested to both true and false aspects. And all
the resulting paths were tested. So that each path that may be generate on particular condition is
traced to uncover any possible errors.
This type of testing selects the path of the program according to the location of definition
and use of variables. This kind of testing was used only when some local variable were declared.
ethod was used in this type of testing. These were particularly useful
The definition-use chain m
in nested statements.
5. LOOP TESTING
In this type of testing all the loops are tested to all the limits possible. The following exercise
was adopted for all loops:
● All the loops were tested at their limits, just above them and just belowthem.
● All the loops were skipped at leastonce.
● For nested loops test the inner most loop first and then workoutwards.
● For concatenated loops the values of dependent loops were set with the help of connected
loop.
● Unstructured loops were resolved into nested loops or concatenated loops and tested as
above.
Each unit has been separately tested by the development team itself and all the input have been
validated.
SCREEN SHOT
Figure 05: Register
Table02: User
Table03: User_details
Login Form
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
}
else{
$_SESSION['status']="FAILURE";
$url="../../";
}
}
else{
$url="../../";
}
header("Location: $url");
}
else if(isset($_POST["skip_sign_in"])){
$_SESSION['islogin'] = FALSE;
$_SESSION['user_id'] = 0;
header("Location: ../USERS/FormDetails");
}
}
public function logout(){
$cookie_name = "Resume_User";
$user_id_to_logout = $_SESSION['user_id'];
$encrypt_id = password_hash("$user_id_to_logout", PASSWORD_BCRYPT);
$cookie_content = $encrypt_id;
$cookie_time = time() - 86400 * 30;
$path = "../";
setcookie($cookie_name, $cookie_content, $cookie_time, $path);
$arr=array('user_id','user_role_id','user_email');
$this->session->unset_userdata('user_id');
session_destroy();
header("Location: ../../");
}
//getting user_id
$user=$this->Login_model->getUser("username",$signup_username);
$user=$user->row_array();
//inserting into fullyregistered table
$this->Login_model->insertFullyRegistered($user['user_id']);
}else{
$_SESSION['status']="SIGNUP_FAILURE";
}
header("Location: ../../");
}
}
}
?>
Template (HTML)
<div class="content">
<div class="container-fluid">
<p class="h1" style="text-align:center;margin: 20px;color: #111;">Choose Your Theme</p>
<div class="row">
<?php
$template_name = array("Basic", "Prime_Black", "Turtle_Prime", "Little_Gray",
"Genius_Sky_Blue", "Simple_Pink");
$template_color = array("#ffffff", "#111111", "#92D6B5", "#2E3A42", "#1EA6D6", "#EAC7C5");
</div>
<div class="card-footer justify-content-center">
<a href="../USER_DETAILS/fetchDetailsForResumeWithTemplate?template_name=<?php
echo $template_name[$i-1];?>" class="btn btn-just-icon btn-round">
<i class="fa fa-check"></i>
</a>
● I have created “Draftdeck” which is very useful for any student or an employee.
● Online transferring through any mail we will be able to share the downloaded resume
with other people.
It is one of the most fantastic systems for the people who are either freshers in their domain
or if they don’t have enough idea about the resume or don’t have enough time to create the
resume of good designs or patterns, and they can easily update their resume with a
profession template and can easily make changes if any required they just need to login into
their account everything can be done within sometime, and they can even download their
resume, for all this platform is a very productive place for them. It saves a lot of time and
cost-effective.
BIBLIOGRAPHY
BIBLIOGRAPHY
Books
Websites
https://www.w3schools.com/php/php_intro.asp
https://www.w3schools.com/php/php_form_validation.asp
https://www.w3schools.com/html/html_css.asp
https://en.wikipedia.org/wiki/PHP
https://www.tutorialspoint.com/How-to-create-table-rows-and-columns-in-HTML