Future Enhancement

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 82

A Project Report

On

DRAFTDECK (ONLINE RESUME BUILDER)

Submitted in partial fulfillment of the requirements for the award of the degree of

BACHELOR OF COMPUTER APPLICATION


OF
BANGALORE UNIVERSITY

Submitted by

TIKAM CHAND KUMAWAT (171KSB7072)

2019 - 2020

Guided By
Dr.T.Logeswari
Associate Professor
Department of Computer Science

Kasturi Nagar, Bangalore – 560043


CERTIFICATE

This is to certify that ​Tikam Chand Kumawat (Reg.No: 171KSB7072) ​is a

bonafide student of New Horizon College and has carried out a project entitled

“DRAFTDECK (ONLINE RESUME BUILDER)” ​under the guidance of

Dr.T.Logeswari. This project report has been submitted during the academic year

2019-2020 in partial fulfillment of requirements of the Degree in Bachelor of

Computer Application, Bangalore University.

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

I ​Tikam Chand Kumawat (Reg.No:171KSB7072) ​do hereby declare that the

project work entitled “​DraftDeck (Online Resume Builder)” ​is a bonafide work

carried out by me under the guidance of ​Dr.T.Logeswari ​. This project is my

original work and has not been presented for any other university. This project has

been submitted as part fulfillment of requirements for the Degree of Bachelor of

Computer Application, Bangalore University.

TIKAM CHAND KUMAWAT

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.

I would like to express my special thanks of gratitude to my teacher


Dr.T.Logeswari​, Associate Professor as well as my principal ​Dr. Vijaya Reddy
who gave me the golden opportunity to do this wonderful project on the topic
DRAFTDECK (ONLINE RESUME BUILDER)​, which also helped in doing a
lot of Research and to know about so many new things.

Finally, I convey my acknowledgement to all my friends and family members who


directly or indirectly were associated with us in the successful completion of the
project.

I would also like to thank all our lecturers.

TIKAM CHAND KUMAWAT


CONTENTS

SL. SUBJECT PG.


NO NO

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

8. SYSTEM DESIGN & DATABASE DESIGN 33


● System design
● Database design

9. SYSTEM IMPLEMENTATION 37
● Data flow diagram(DFD)
● Entity-relationship diagram (ERD)
● Database design (Table form)
● Table structure

10. SCREEN SHOTS 48


● Output screenshot

11. CODING 51

12. FUTURE ENHANCEMENT 59

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.

This Project consist of 7 modules Register, Login, Information, Resume, Update


information, Template, Download. In register module the user should register themselves
to access and create the resume. In login we will have a user login. The user should
register themselves to create there resume. In information module the user has to fill in
there details like personal info, education info, achievement's, skills, hobbies and so on. In
resume module after submitting the information the system stores the data in the database
and then generates the resume. In ​update information form the user can edit there ​personal
info, education info, achievement's, skills, hobbies that were filled by them. ​Templates
module contains various kinds of templates for all kinds of qualification i.e., for both
fresher’s and graduate’s. In download module we can download our resume in a word or
PDF file.
INTRODUCTION
INTRODUCTION

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.

This Project consist of 7 modules Register, Login, Information, Resume, Update


information, Template, Download. In register module the user should register themselves
to access and create the resume. In login we will have a user login. The user should
register themselves to create there resume. In information module the user has to fill in
there details like personal info, education info, achievement's, skills, hobbies and so on. In
resume module after submitting the information the system stores the data in the database
and then generates the resume. In ​update information form the user can edit there ​personal
info, education info, achievement's, skills, hobbies that were filled by them. ​Templates
module contains various kinds of templates for all kinds of qualification i.e., for both
fresher’s and graduate’s. In download module we can download our resume in a word or
PDF file.

SCOPE:-
​This software consists of following functions:

✔ Creating Resume as per the user needs.


✔ User can choose the template which they like.
✔ User can download their resume in the pdf format and share it or print it.

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.

HARDWARE REQUIREMENTS FOR PRESENT PROJECT

PROCESSOR : I​ ntel(R)Core(TM) i3-8250u CPU @1.60GHz 1.80Ghz


RAM : 4GB
HARDDISK : 1TB

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.

SOFTWARE REQUIREMENTS FOR PRESENT PROJECT

OPERATINGSYSTEM : Windows 10 Home Single Language


FRONTEND : HTML, Bootstrap, CSS using PHP
BACKEND : MySQL
MONITOR : Standard color monitor
KEYBOARD : Standard keyboard
SYSTEM ANALYSIS
SYSTEM ANALYSIS

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.

Expected Advantages of Proposed System

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

✔ Here, a person should only add the information that is required.


✔ Its is less time consuming.
✔ A person can choose template which they like.
✔ The information is easy to store and manage.
✔ Ensure data Accuracy’s and data confidentiality.
✔ It has a User Friendly Interface.
PERT CHART
PERT CHART

Planning and Scheduling

(04​TH ​JAN-07​TH ​JAN)

(17​TH ​JAN – 28​TH ​JAN)

(01​ST ​FEB – 29​TH ​FEB)

(01​ST ​MAR – 30​TH ​MAR)

(01​ST ​APR – 08​TH ​APR)

Figure 01: Pert Chart


TECHNOLOGIES
USED
TECHNOLOGIES USED

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 by​tags,​

written usi​ng angle and directly introduce


brackets​. Tags such as contentinto

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's​HTML​.

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.

 Internal Style sheet


First we will explore the internal method. This way you are simply placing the CSS code within
the <head></head> tags of each (X)HTML file you want to style with the CSS. The format for
this is shown in the example below.
<head>
<title><title>
<style type=”text/css”>
CSS Content Goes Here
</style>
</head>
<body>

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.

 External Style sheet


Next we will explore the external method. An external CSS file can be created with any text or
HTML editor such as “Notepad” or “Dreamweaver”. A CSS file contains no (X)HTML, only
CSS. You simply save it with the .css file extension. You can link to the file externally by
placing one of the following links in the head section of every (X)HTML file you want to style
with the CSSfile.

<link rel=”stylesheet” type=”text/css” href=​“Path To stylesheet.css” ​/>


Or you can also use the @import method as shown below
<style type=”text/css”>@import url(​Path To stylesheet.css)​ </style>

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.

Common usesof PHP


PHP performs system functions, i.e. from files on a system it can create, open, read, write, and close them. The
other uses of PHP are:
● PHP can handle forms, i.e. gather data from files, save data to a file, thru email you can send data, return
data to the user.
● You add, delete, modify elements within your database thru PHP.
● Access cookies variables and set cookies.
● Using PHP, you can restrict users to access some pages of your website.
● It can encrypt data.
MySQL
Relational database management systems (RDBMS) are extremely popular and are quite an
integral part of application development. Many different RDBMS exist, for example, MySQL,
PostgreSQL, IBM DB2, Oracle 11g and so on. Such an RDBMS is ​MySQL​. ​MySQL​is widely-
used and is favorite among the developers for many reasons -

● Extremely light-weighted (not more than 500 KBs)


● It is server less which means you do not need any separate server for availing itsservices
● No complex setup
● Fully transactional andconcurrency-compliant

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 ofMySQL


● Creating databases and tables inMySQL
● Importing a .csv file into a MySQLdatabase
● MySQL in Python

 
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.

The interface for DB Browser for MySQL looks like this –


 
Creating databases and tables
Once you are ready with the DB Browser tool, you can create a new MySQL database to
proceed. To do this, you can click on the ​New Database ​tab -

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​.
 

Importing a .csv file intoMySQLdatabase


To import a .csv file into the database you created, just follow this navigation: ​File -> Import ->
Table from CSV file​. You can use ​this .csv file ​for the purpose. It contains details about
different countries around the globe. Navigate to the file, and you will get a dialog box like the
following after that-

DB Browser lets you specify many things here including the names of the table. Make sure you
check the ​Column names in the first line​option, so that MySQL can extract the column names
automatically. Click on ​OK ​after you are done with the specifications.
FUNCTIONAL
SPECIFICATION
FUNCTIONAL SPECIFICATION
MODULE

● Encapsulates code and data to implement a particular functionality.


● Has an interface that lets clients to access its functionality in an uniformmanner.
● Is easily pluggable with another module that expects its interface.
● Is usually packaged in a single unit so that it can be easily deployed.
The Entire Project Mainly Consists of 7 Modules, which are;

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

1. Personal Details- information about the user.


2. Education Qualification- education details of the user.
3. Others – In this the user can add details about achievements, hobbies, skill.
Resume Modules

● In this the resume is generated by the information that is provided by user.

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

INTRODUCTION TO SYSTEM DESIGN

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.

SYSTEM FLOW CHART


A graphic representation of a system showing the overall flow of control in the
processing at the job level; specifies what activities must be done to convert from a physical to
logical model is known as a system flowchart. Thus, it summarizes what operations are
undertaken and where and when they take place. Normally in a system flowchart input from
outside are shown to the left and outputs to the right. Symbols representing the operations
undertaken and the documents used are then placed in the appropriate places which gives a
general flow of data from top to bottom and left to right.
Arrows are used on the connecting lines to indicate the logical flow or sequence
where the flow is not in the standard direction. No interaction is implied by crossing lines.
Decisions which lead to different actions can also be shown

DATA FLOW DIAGRAM

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.

1. The allocated space for each field.


2. Field sequence which must match that in the source document.
3. The format in which data fields are entered for example, filling out the data field is
required through the edited format mm/dd/yy

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.

d. Data is presented in a form suitable to computer as a result of some of the

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.

Software readability brings up the concept of modularity. Functionally, it is definition of the e


facilities, performance and other factors that the user requires in the finished product. Capacity
refers to the capability of the software package to handle the user’s requirements. The criterion,
usability refers to the effort required to operate, prepare the input and interpret the output
program. Serviceability focuses on documentation and vendor support lost is major
consideration. The other criteria are flexibility, security, performance, andownership.

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 (DFD)

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

The following information rules govern construction of DFD


a) Arrows should not cross eachother
b) Squares, circles, and files must bear names.
Data Flow Diagram For DraftDeck (Online Resume Builder)

Figure 02: Level-Zero DFD

Figure 03: Level-One DFD


Entity-Relationship Diagram (ERD)
The entity-relationship (E-R) data model perceives the real world as consisting of basic objects,
called entities and relationships among those objects. It was developed to facilitate database
design by allowing specification of an enterprise schema, which represents the overall logical
structure of a database. The E-R model is one of the several semantic data models; the semantic
aspect of the model lies in representation of the meaning of the data. The E-R model is very
useful in mapping the meanings and interactions of the real world enterprise onto a conceptual
schema. Because of this usefulness, many database design tools draw on concepts from the E-R
model.

Symbols mainly used in E-R diagram:

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.

E-R Diagram For DraftDeck (Online Resume Builder)

Figure 04: E-R Diagram


DATABASE DESIGN
The general theme behind a database is to handle information as an integrated whole. A
database is a collection of interrelated data stored with minimum redundancy to serve many
users quickly and effectively. After designing input and output, the analyst must concentrate on
database design or how data should be organized around user requirements. The general
objective is to make information access, easy quick, inexpensive and flexible for other users.
During database design the following objectives are concerned:-

⎫ 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.

STRATEGIC APPROACH TO SOFTWARE TESTING

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

This type of testing ensures that

● All independent paths have been exercised at leastonce


● All logical decisions have been exercised on their true and falsesides
● All loops are executed at their boundaries and within their operationalbounds
● All internal data structures have been exercised to assure theirvalidity.
To follow the concept of white box testing we have tested each form .we have created
independently to verify that Data flow is correct, All conditions are exercised to check their
validity, All loops are executed on their boundaries.

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.

Determine the Cyclomatic complexity of resultant flow graph, using formula:

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.

Determine the basis of set of linearly independent paths.


3. CONDITIONALTESTING

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.

4. DATA FLOW TESTING

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

Figure 06: Login


Figure 07: Update details

​Figure 08: Resume


Figure 9: Add Details
Table 01: All Tables

Table02: User
Table03: User_details

Table04: User College Name


CODING
Coding:

Login Form

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class LOGIN extends CI_Controller {

public function __construct(){


parent::__construct();
$this->load->model("Login_model");
$this->load->helper("form");
$this->load->helper('url_helper');
$this->load->library("session");
$this->load->library("encryption");
$this->load->helper("cookie");
}

public function verify(){


if(isset($_POST["login"])){
extract($_POST);
$user=$this->Login_model->getUser("username",$username);
$user=$user->row_array();
if($user){
if(password_verify($password,$user['password'])){
$_SESSION['islogin'] = TRUE;
$_SESSION['user_id'] = $user['user_id'];
$ret = $this->Login_model->getUserFullyRegistered($user['user_id']);
$ret=$ret->row_array();
if(isset($_POST["stay_signed_in"])){
$cookie_name="Resume_User";
$user_id=$user['user_id'];
$cookie_content=password_hash("$user_id", PASSWORD_BCRYPT);
$cookie_time=time()+ 86400 * 7;
$cookie_path="/";
setcookie($cookie_name,$cookie_content,$cookie_time,$cookie_path);
}
else{
$cookie_name="Resume_User";
$user_id=$user['user_id'];
$cookie_content=password_hash("$user_id", PASSWORD_BCRYPT);
$cookie_time=time()+ 3600;
$cookie_path="/";
setcookie($cookie_name,$cookie_content,$cookie_time,$cookie_path);
}
if($ret['is_fully_registered'] != 1){
//if user registered for first time redirect him to resume form page
$url = "../USERS/FormDetails";
}
else{
//if user already registered and filled the form then redirect it directly to
resume page
$url = "../USER_DETAILS/fetchDetailsForResume";
}

}
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: ../../");
}

public function registerUser(){


if(isset($_POST["sign_up"])){
extract($_POST);
$user=$this->Login_model->getUser("username",$signup_username);
$user=$user->row_array();
if(!$user){
$hashedpass = password_hash("$signup_password", PASSWORD_BCRYPT);
$this->Login_model->updateUser($signup_username, $hashedpass);

//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");

for($i = 1;$i <= 6; $i++) {?>


<div class="col-md-4">
<div class="card card-profile ml-auto mr-auto" style="max-width: 360px;background: <?php
echo $template_color[$i-1]?>; border:solid 2px #fff; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px
20px 0 rgba(0, 0, 0, 0.19);">
<div class="card-header card-header-image">
<a href="#pablo">
<img class="img" src="../../assets/img/templates/template-<?php echo $i;?>.jpg">
</a>
</div>

<div class="card-body ">


<h4 class="card-title" style="color: #9C27B0;font-weight:400;font-size: 30px;">
<?php echo $template_name[$i-1];?>
</h4>
<?php if($i <= 3) { ?>
<h5 class="card-category" style="color: #9C27B0;">One Of our Basic Template Design</h5>
<?php } else { ?>
<h5 class="card-category" style="color: #9C27B0;">Pro Version Templates</h5>
<?php } ?>

</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>

<a href="../USER_DETAILS/fetchDetailsForResume" class="btn btn-just-icon btn-round">


<i class="fa"> X </i>
</a>
</div>
</div>
</div>
<?php }?>
</div>
</div>
</div>
FUTURE
ENHANCEMENT
Future Enhancement

​Theproposed system is DraftDeck an online resume builder. The future enhancement


of this project is that,
to own the website with a personal domain name and a database server so that the users can
easily search the website by just entering the name of the website in order to create there
professtional looking resume’s.

● I have created “Draftdeck” which is very useful for any student or an employee.

● It should store the information in an online database

● The website will have a personal domain name.

● Online transferring through any mail we will be able to share the downloaded resume
with other people.

● The details will be kept securely in the online database system.

● The user interface(UI) will be improved in the future enhancement/updates.


CONCLUSION
CONCLUSION

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

1. Kenneth E. Kendall “System Analysis and Design” Publisher Pearson College


Div.; 4th edition Year December 1,2002
2. The Joy of PHP Programming: A Beginner’s Guide – by Alan Forbes
3. Ian Sommerville “Software Engineering”, 9th Edition, Pearson Education,2012.
4. Introduction to the “Design and Analysis of Algorithms”, Anany Levitin, 2rd
Edition, 2009,Pearson.
5. Sourav Sahay, “Object Oriented Programming with C++”, OxfordUniversity
Press, 2006
6. Chris Bates, “Web Programming Building Internet Applications”, 3rdEdition,
Wiley India,2006
7. A.Balaguruswamy, “Programming with JAVA”, A Primer, TMH,1999

8. E. Balaguruswamy: Object Oriented Programming with C++, Tata McGrawHill


Publications,2011.

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

You might also like