Professional Documents
Culture Documents
Minor Project Report On Tips Voting System'
Minor Project Report On Tips Voting System'
Report on
‘TIPS VOTING SYSTEM’
Submitted in the partial fulfilment for the award of degree
of Bachelors of Computer Application
(Affiliated to GGSIPU)
Session: 2016-2019
We hereby declare that the project work entitled “Tips Voting System” submitted to the
TRINITY INSTITUTE OF PROFESSIONAL STUDIES DWARKA,NEW DELHI Affiliated to
Guru Gobind Singh Indraprastha University, Delhi, is a record of an original work done by us
under the guidance of Mrs. RITIKA KAPOOR AND MS. SHWETA SHARMA, and this project
work is submitted in the partial fulfilment of their requirements for the award of the degree of
Bachelors in Computer Application.The results embodied in this thesis have not been submitted
to any other University or Institute for the award of any degree or diploma.
CERTIFICATE
This is to certify that project entitled “Tips Voting System” a website is submitted by Mr.
Pratham Pande and Mr. Deeptanshu Sharma in partial fulfilment of the requirements for the
award of Bachelors in Computer Application; Rhythm is a record of work carried under the
supervision of Mrs. RITIKA KAPOOR AND MS. SHWETA SHARMA, at TRINITY
INSTITUTE OF PROFESSIONAL STUDIES DWARKA, NEW DELHI Affiliated to Guru
Gobind Singh Indraprastha University, Delhi
It is further certified that we have not submitted the report to any other organisation for any other
degre
S. NO TOPIC PAGE
1 INTRODUCTION 1
PROJECT OVERVIEW
GOALS OF PROPOSED SYSTEM
BACKGROUND OF STUDY
SIGNIFICANCE
PURPOSE
OBJECTIVES
SCOPE OF STUDY
SYSTEM EVOLUTION
STUDY OF THE SYSTEM
2 SYSTEM ANALYSIS 14
EXISTING SYSTEM
PROPOSED SYSTEM
METHODOLOGY/PROCEDURE
SYSTEM REQUIREMENT SPECIFICATION
SYSTEM OBJECTIVES
SYSTEM REQUIREMENTS
NON FUNCTIONAL REQUIREMENT
FUNCTIONAL REQUIREMENT
3 SYSTEM DESIGN 27
INPUT AND OUTPUT DESIGN
DATABASE DESIGN
SYSTEM TOOLS
FRONT END
BACK END
TABLES
CODING
E-R DIAGRAMS
DATA FLOW DIAGRAMS (DFD )
TESTING
IMPLEMENTATION
MAINTAINENCE
SCREEN SHOTS
4 FUTURE SCOPE 92
CONCLUSION
REFERENCES
INTRODUCTION
INTRODUCTION
INTRODUCTION:-
“TIPS VOTING SYSTEM” is an online voting technique. In this system students can give
his\her vote online without going to any physical polling station. There is a database which is
maintained in which all the names of voters with complete information is stored. In “TIPS
VOTING SYSTEM” a voter can use his\her voting right online without any difficulty. He\She
has to be registered first for him/her to vote. Registration is mainly done by the system
administrator for security reasons. After registration, the voter is assigned a secret Voter ID and
Password with which he/she can use to log into the system and enjoy services provide by the
system such as voting. If invalid/wrong details are submitted, then the student is not registered
to vote.
OVERVIEW:-
Project is related to E-Voting System / Online Voting System.
1) Registration of the Voter depends upon the information filled by the administrator.
2) Voter is given a unique ID and PASSWORD.
3) In the DATABASE information of every voter is stored.
4) Database shows the information of every user.
BACKGROUND OF STUDY:-
The Online voting system (OVS) also known as e-voting is a term encompassing several
different types of voting embracing both electronic means of counting votes. Electronic voting
technology can include punched cards, optical scan voting systems and specialized voting
kiosks (including self-contained direct-recording electronic voting systems or DRE). It can also
involve transmission of ballots and votes via telephones, private computer networks, or the
internet.
Online voting is an electronic way of choosing leaders via a web driven application. The
advantage of online voting over the common “queue method” is that the voters have the choice
of voting at their own free time and there is reduced congestion. It also minimizes on errors of
vote counting. The individual votes are submitted in a database which can be queried to find out
who of the aspirants for a given post has the highest number of votes.
This system is geared towards increasing the voting percentage since it has been noted that with
the old voting method {the Queue System}, the voter turnout has been a wanting case. With
system in place also, if high security is applied, cases of false votes shall be reduced.
With the “ONLINE VOTING SYSTEM”, a voter can use his\her voting right online without
any difficulty. He\She has to register as a voter first before being authorized to vote. The
registration should be done prior to the voting date to enable data update in the database.
As already stated, the project ‘Online Voting' provides means for fast and convenient voting
and access to this system is limited only to registered voters.
Internet voting systems are appealing for several reasons which include; People are getting
more used to work with computers to do all sorts of things, namely sensitive operations such as
shopping and home banking and they allow people to vote far from where they usually live,
helping to reduce absenteeism rate.
SIGNIFICANCE OF STUDY:-
The main purposes of “TIPS VOTING SYSTEM” include:
Provision of improved voting services to the voters through fast, timely and convenient
voting.
Check to ensure that the members who are registered are the only ones to vote.
It will require being very precise or cost cutting to produce an effective election
management system.
Therefore crucial points that this (TVS) emphasizes on are listed below.
“TIPS VOTING SYSTEM” is an online voting technique. In this system students can give his\her vote
online without going to any physical polling station. There is a database which is maintained in which
all the names of voters with complete information is stored. In “TIPS VOTING SYSTEM” a voter can
use his\her voting right online without any difficulty. He\She has to be registered first for him/her to
vote. Registration is mainly done by the system administrator for security reasons. After registration,
the voter is assigned a secret Voter ID and Password with which he/she can use to log into the system
and enjoy services provide by the system such as voting. If invalid/wrong details are submitted, then
the student is not registered to vote.
The main purpose of this study is to boost the turnout of votes. Many people don’t want to stand in
long queues to cast their vote
The second purpose is to make it more difficult to commit fraud and cheating during an election.
ALL these purposes can be fulfilled with an online voting system.
Voting
Schemes
Traditional Electronic
Voting Voting
Internet E- DRE
voting machines
Chaum’s
scheme
The aim of the study is to analyze the current election system and suggest an online election system
which will allow people to cast votes in a more convenient way, by using available resources which
could facilitate the voters during elections.
1. Expensive and Time consuming: - The process of collecting data and entering this data
into the database takes too much time and is expensive to conduct, for example, time and
money is spent in printing data capture forms, in preparing registration stations together
with human resources, and there after advertising the days set for registration process
including sensitizing voters on the need for registration, as well as time spent on entering
this data to the database.
2. Too much paper work: - The process involves too much paper work and paper storage
which is difficult as papers become bulky with the population size.
3. Errors during data entry: - Errors are part of all human beings; it is very unlikely for
humans to be 100 percent efficient in data entry.
4. Loss of registration forms: - Some times, registration forms get lost after being filled in
with voters’ details, in most cases these are difficult to follow up and therefore many remain
unregistered even though they are voting age nationals and interested in exercising their
right to vote.
5. Short time provided to view the voter register: - This is a very big problem since not all
people have free time during the given short period of time to check and update the voter
register.
6. Above all, a number of voters end up being locked out from voting.
SCOPE OF STUDY:-
It is focused on studying the existing system of voting and to make sure that the people votes are
counted, for fairness in the elective positions. This will also produce:
•Less effort and less labor intensive, as the primary cost and focus primary on creating, managing, and
running a secure web voting portal.
•Increasing number of voters as individuals will find it easier and more convenient to vote, especially
those abroad.
SYSTEM EVOLUTION:-
The heart of the entire voting system is the Database. Currently the system is only available for small
scale elections. For Large scale elections, performance considerations should be taken into account in
terms of Hardware/Software capacity/Page load time etc. Also, security vulnerabilities should be
evaluated for large scale systems.
We are also certain that if this system goes into actual use, many requests will arise for additional
features which I had not previously considered, but would be useful to have. For this reason, we feel as
Though the application can be constantly evolving, which we consider a very good thing.
The system after careful analysis has been identified to be presented with the following modules and
roles.
The modules involved are:
Admin’s Panel:
• Admin login – Special page in the site which can be accessed by admins only.
• Manage admins – New admins can be managed from here.
• Manage candidates- Candidates can be created, edited and removed from the voter’s ballot
• Results – Displays the results of the election.
Voter’s Panel:
• Sign in page – voter can sign in from their unique id and password given to them by the admin.
• Voting section – Here voters can cast their votes.
SYSTEM ANALYSIS
SYSTEM ANALYSIS
System analysis is the process of gathering and interpreting facts, diagnosing problems and using the
information to recommend improvements on the system. System analysis is a problem solving activity
that requires intensive communication between the system users and system developers.
System analysis or study is an important phase of any system development process. The system is
viewed as a whole, the inputs are identified and the system is subjected to close study to identify the
problem areas. The solutions are given as a proposal. The proposal is reviewed on user request and
suitable changes are made. This loop ends as soon as the user is satisfied with the proposal.
EXISTING SYSTEM
1. Paper-based voting: The voter gets a blank ballot and use a pen or a marker to indicate he want to
vote for which candidate. Hand-counted ballots is a time and labor consuming process, but it is easy to
manufacture paper ballots and the ballots can be retained for verifying, this type is still the most
common way to vote.
2. Lever voting machine: Lever machine is peculiar equipment, and each lever is assigned for a
corresponding candidate. The voter pulls the lever to poll for his favorite candidate. This kind of voting
machine can count up the ballots automatically. Because its interface is not user-friendly enough,
giving some training to voters is necessary.
3. Direct recording electronic voting machine: This type, which is abbreviated to DRE, integrates
with keyboard; touch screen, or buttons for the voter press to poll. Some of them lay in voting records
and counting the votes is very quickly. But the other DRE without keep voting records are doubted
about its accuracy.
4. Punch card: The voter uses metallic hole-punch to punch a hole on the blank ballot. It can count
votes automatically, but if the voter’s perforation is incomplete, the result is probably determined
wrongfully.
5. Optical voting machine: After each voter fills a circle correspond to their favorite candidate on the
blank ballot, this machine selects the darkest mark on each ballot for the vote then computes the total
result. This kind of machine counts up ballots rapidly. However, if the voter fills over the circle, it will
lead to the error result of optical-scan.
Recent years, a considerable number of countries has adopted E-voting for their official elections.
These countries include; America, Belgium, Japan and Brazil.
The problems of the existing manual system of voting include among others the following:-
1. Expensive and Time consuming: - The process of collecting data and entering this data into the
database takes too much time and is expensive to conduct, for example, time and money is spent in
printing data capture forms, in preparing registration stations together with human resources, and there
after advertising the days set for registration process including sensitizing voters on the need for
registration, as well as time spent on entering this data to the database.
2. Too much paper work: - The process involves too much paper work and paper storage which is
difficult as papers become bulky with the population size.
3. Errors during data entry: - Errors are part of all human beings; it is very unlikely for humans to be
100 percent efficient in data entry.
4. Loss of registration forms:- Some times, registration forms get lost after being filled in with voters’
details, in most cases these are difficult to follow-up and therefore many remain unregistered even
though they are voting age nationals and interested in exercising their right to vote.
5. Short time provided to view the voter register: - This is a very big problem since not all people
have free time during the given short period of time to check and update the voter register.
6. Above all, a number of voters end up being locked out from voting.
PROPOSED SYSTEM:-
The ONLINE VOTING SYSTEM shall reduce the time spend making long queues at the polling
stations during voting. It shall also enable the voters to vote from any part of the globe as explained
since this is an online application available on the internet. Cases of vote miscounts shall also be solved
since at the backend of this system resides a well-developed database using MYSQL that can provide
the correct data once it’s correctly queried. Since the voting process shall be open as early as possible,
the voters shall have ample time to decide when and whom to vote for.
1. Empowerment: - Voting is the most powerful way for members to have a voice in the leadership
and direction of their association. When allowed to vote in fair and open elections, members feel a
greater sense of value, ownership, and responsibility. Online elections help empower members of
associations, societies, and other democratic organizations by making voting easy and convenient.
2. Accessibility: - Online voting allows association members to access their ballots from anywhere at
any time, provided they have an Internet connection. This makes casting a vote convenient and fast.
Members can cast their votes from home, from work or “on the go” via their mobile devices.
3. Cost effectiveness: - Online voting reduces election budgets by limiting production costs. Paper,
printing, and postage costs are all significantly lower for online elections than for traditional voting
methods. In addition, staff will save time because online elections eliminate the need to assemble
ballot packages and manually tabulate votes.
4. Security and confidentiality: - A properly designed, secure online voting system has safeguards in
place to protect voting information and voter identities. A voting website hosted on a secure server
will only be accessible to authorized members through unique voter logins. Online ballots are
transmitted from voters’ computers or mobile devices to balloting systems using SSL (Secure
Sockets Layer), the same encryption technology used by U.S. financial institutions. These layers of
protection form a technology shield that detects unauthorized access, eliminates ballot tampering,
and reduces the chance of voting fraud.
5. Eco-friendly: - Web-based balloting conserves resources by reducing the amount of paper
associated with an election. Paper ballots, envelopes, flyers, and other paper collateral are either
moved to electronic format or eliminated. This is particularly important if your association
members are sensitive to the use of natural resources.
6. Membership engagement: - Online voting and other modern participation methods demonstrate
an association’s commitment to connecting with its members. It shows the organization is staying
relevant and is dedicated to keeping in touch.
7. Appeal to younger members: - According to a survey, 75 percent of Indians between the ages of
18 and 29 use the Internet. This means that online options such as web voting might be a great way
to get younger members involved in the decision-making process.
8. Fast, accurate results: - With online voting there are no rejected, mismarked or invalid ballots.
Results are automatically calculated, eliminating the need for manual tabulation and dreaded
recounts. Computerized tabulation allows election managers to quickly announce decisions and
results.
DISADVANTAGES OF E-VOTING:-
1. Virus: - “Virus such as Trojan horse would do great damage to the system. The server can be
easily protected from the attack of virus by using specific kids of operating system. But the
client such as personal computers might not secure enough and are easily infected with virus.
These viruses might attack computer from the operating system level to the web browser level.
It might infringe the secret-ballot and privacy, modify the result without the voter’s
acknowledgement, and reduce the justice of the election. If a large number of voter’s computers
are attacked by virus, then the election might have to be cancelled or re-vote in other time”.
2. Denial of service attack and vulnerable to security:- when many people are using the
internet, the network get flooded and this cause the network to become slow which lead to slow
process of voting, this will obviously frustrate the electorate. “The security issue is the main
drawback of the electronic voting system. So far, there are still many kinds of attacks which are
hard to prevent completely. The attacks might be happened from the webpage, network, to the
extent of server’s database”.
METHODOLOGY/ PROCEDURE:-
FEASIBILITY STUDY:-
Depending on the results of the initial investigation the survey is now expanded to a more detailed
feasibility study. “FEASIBILITY STUDY” is a test of system proposal according to its workability,
impact of the organization, ability to meet needs and effective use of the resources. It focuses on these
major questions:
1. What are the user’s demonstrable needs and how does a candidate system meet them?
During feasibility analysis for this project, following primary areas of interest are to be considered.
Investigation and generating ideas about a new system does this.
Steps in feasibility analysis eight steps involved in the feasibility analysis are:
• Determine and evaluate performance and cost effective of each proposed system.
TECHNICAL FEASIBILITY:-
A study of resource availability that may affect the ability to achieve an acceptable system. This
evaluation determines whether the technology needed for the proposed system is available or not.
• Can the work for the project be done with current equipment existing software technology &
available personal?
• This is concerned with specifying equipment and software that will successfully satisfy the user
requirement. The technical needs of the system may include:
FRONT-END AND BACK-END SELECTION:-
An important issue for the development of a project is the selection of suitable front-end and back-end.
When we decided to develop the project we went through an extensive study to determine the most
suitable platform that suits the needs of the organization as well as helps in development of the project.
Front-end selection:
1. It must have a GUI that assists employees that are not from IT background.
3. Flexibility.
4. Robustness.
7. Platform independent.
10. Front end must support some popular back end like MS Access.
According to the above stated features we selected PHP as the front-end for developing our
project.
Back-end Selection:
5. Stored procedures.
6. Popularity.
8. Easy to install.
The technical feasibility is frequently the most difficult area encountered at this stage. It is essential
that the process of analysis and definition be conducted in parallel with an assessment to technical
feasibility. It centers on the existing computer system and to what extent it can support the proposed
system.
ECONOMICAL FEASIBILITY:-
Economic justification is generally the “Bottom Line” consideration for most systems. Economic
justification includes a broad range of concerns that includes cost benefit analysis. In this we weight the
cost and the benefits associated with the candidate system and if it suits the basic purpose of the
organization i.e. profit making, the project is making to the analysis and design phase.
The financial and the economic questions during the preliminary investigation are verified to estimate
the following:
• The cost of hardware and software for the class of application being considered.
• The proposed system will give the minute information, as a result the performance is improved.
This feasibility checks whether the system can be developed with the available funds. The Online
voting system does not require enormous amount of money to be developed. This can be done
economically if planned judicially, so it is economically feasible. The cost of project depends upon the
number of man-hours required.
OPERATIONAL FEASIBILITY:-
It is mainly related to human organizations and political aspects. The points to be considered are:
Do the existing staff members have these skills? If not, can they be trained in due course of time?
The system is operationally feasible as it very easy for the End users to operate it. It only needs basic
information about Windows platform.
SCHEDULE FEASIBILITY:-
Time evaluation is the most important consideration in the development of project. The time schedule
required for the developed of this project is very important since more development time effect
machine time, cost and cause delay in the development of other systems.
A reliable Online voting system can be developed in the considerable amount of time
PROCESS MODEL:-
A process model for software engineering is chosen based on the nature of the project and application,
the methods and tools to be used, and the controls and deliverables that are required. The model is used
to build the ―ONLINE VOTING SYSTEM‖ software is ―The Prototyping Model‖. The prototyping
paradigm is: - ―Water fall model‖ Fig.1.2 Water fall Model The water fall model is a software
development model in which a systems development is viewed as flowing downwards through the
phases of the system development process. The waterfall methodology is powerful, précised, and
thorough. It has a number of phases that have to be implemented in a sequential manner.
Water fall Model
The phases which come under the waterfall model are as follows:-
1. Requirement Analysis
2. Design
3. Implementation
4. Testing
5. Maintenance
ADVANTAGES:-
GENERAL DESCRIPTION:-
The Tips Voting system is a web-based system so fundamental features related with web-based
Technologies such as client-server and database properties determine the software requirements of
That project. The software product is a standalone system and not a part of a larger system. The
System will be made up of two parts. Before the Election Day the system will be used for general
Purposes such as viewing candidates’ profiles and past years’ election results. The voters will reach
The system through web pages by using web-browsers such as Mozilla, Internet Explorer and
Google Chrome
On the Election Day another independent system will be used for voting operations. This system will
Be adapted to the computers at the polling stations. The voters cast their votes using the interface
That are provided at these machines. These votes are accepted by the system on the server. The
ECA configures the whole system according to its needs on the server where the system is running.
SYSTEM OBJECTIVES:-
1. Performance
2. Reliability
3. Security
FUNCTIONAL REQUIREMENTS:-
The Tips voting system (cyber vote) was designed to fulfill the following functional requirements:
1. Administrator specifies registration time and dates.
2. Administrator specifies voting time and dates.
3. Administrator adds candidates to cyber vote.
4. Administrator has access to population table in database.
5. Cyber vote system checks vote’s eligibility to vote.
6. Voter can log into their accounts.
7. Voter cast their vote using cyber vote website.
8. Cyber vote saves the vote in a secured database.
9. Cyber vote counts the vote.
Needed:
1. Working internet connection
2. A web server should have Java installed on the machine.
3. A web browser through which the voters access the server should have minimal support for
Cookies and encrypted transactions.
Activity Diagram:
This section lists the activity diagram and describes the flow of the activities in the system. A detailed
description is then given after the figure for each activity. Figure provides the overview of the activity
of the Tips Voting System.
SYSTEM DESIGN
SYSTEM DESIGN
System design is the solution for the creation of a new system. This phase focuses on the detailed
implementation of the feasible system. It emphasis on translating design. Specifications to performance
specification. System design has two phases of development
• Logical design
• Physical design
During logical design phase the analyst describes inputs (sources), outputs (destinations), databases
(data sores) and procedures (data flows) all in a format that meets the user requirements. The analyst
also specifies the needs of the user at a level that virtually determines the information flow in and out
of the system and the data resources. Here the logical design is done through data flow diagrams and
database design. The physical design is followed by physical design or coding. Physical design
produces the working system by defining the design specifications, which specify exactly what the
candidate system must do. The programmers write the necessary programs that accept input from the
user, perform necessary processing on accepted data and produce the required report on a hard copy or
display it on the screen.
INPUT DESIGN:-
Input design is the link that ties the information system into the world of its
Users. The input design involves determining the inputs, validating the data, minimizing the data entry
and provides a multi-user facility. Inaccurate inputs are the most common cause of errors in data
processing. Errors entered by the data entry operators can be controlled by input design. The user-
originated inputs are converted to a computer based format in the input design. Input data are collected
and organized into groups of similar data. Once identified, the appropriate input media are selected for
processing. All the input data are validated and if any data violates any conditions, the user is warned
by a message. If the data satisfies all the conditions, it is transferred to the appropriate tables in the
database. In this project the student details are to be entered at the time of registration. A page is
designed for this purpose which is user friendly and easy to use. The design is done such that users get
appropriate messages when exceptions occur.
OUTPUT DESIGN:-
Computer output is the most important and direct source of information to the user. Output design is a
very important phase since the output needs to be in an efficient manner. Efficient and intelligible
output design improves the system relationship with the user and helps in decision making. Allowing
the user to view the sample screen is important because the user is the ultimate judge of the quality of
output. The output module of this system is the selected notifications.
DATABASE DESIGN:-
Databases are the storehouses of data used in the software systems. The data is stored in tables inside
the database. Several tables are created for the manipulation of the data for the system. Two essential
settings for a database are - the field that is unique for all the record occurrences. -the field used to set
relation between tables. Normalization is a technique to avoid redundancy in the tables.
SYSTEM TOOLS:-
The various system tools that have been used in developing both the front end and the back end of the
project are being discussed in this chapter.
FRONT END:-
PHP, HTML, CSS, JAVA SCRIPT, BOOTSTRAP are utilized to implement the
frontend.
Hypertext Preprocessor (or simply PHP) is a server-side scripting language designed for Web
development, and also used as a general-purpose programming language. It was originally created by
Rasmus Lerdorf in 1994, the PHP reference implementation is now produced by The PHP Group. PHP
originally stood for Personal Home Page, but it now stands for the recursive initials PHP: Hypertext
Preprocessor.
PHP code may be embedded into HTML code, or it can be used in combination with various web
template systems, web content management systems, and web frameworks. PHP code is usually
processed by a PHP interpreter implemented as a module in the web server or as a Common Gateway
Interface (CGI) executable. The web server combines the results of the interpreted and executed PHP
code, which may be any type of data, including images, with the generated web page. PHP code may
also be executed with a command-line interface (CLI) and can be used to implement standalone
graphical applications.
The standard PHP interpreter, powered by the Zend Engine, is free software released under the PHP
License. PHP has been widely ported and can be deployed on most web servers on almost every
operating system and platform, free of charge.
The PHP language evolved without a written formal specification or standard until 2014, with the
original implementation acting as the de facto standard which other implementations aimed to follow.
Since 2014 work has gone on to create a formal PHP specification.
Syntax
A PHP script can be placed anywhere in the document.
A PHP script starts with <?php and ends with ?>:
The default file extension for PHP files is ".php".
A PHP file normally contains HTML tags, and some PHP scripting code.
Example
<!DOCTYPE html>
<html>
<body>
<?php
echo "Hello World!";
?>
</body>
</html>
Hypertext Markup Language (HTML) is the standard markup language for creating web pages 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 cues for the appearance of the document.
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 using angle
brackets. Tags such as <img /> and <input /> directly introduce content into the page. Other tags such
as <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 embed programs written in a scripting language such as JavaScript, which affects the
behavior and content of web pages. Inclusion of CSS defines the look and layout of 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
HTML markup consists of several key components, including those called tags (and their attributes),
character-based data types, character references and entity references. HTML tag
Most commonly come in pairs like <h1> and </h1>, although some represent empty elements and so
are unpaired, for example <img>. The first tag in such a pair is the start tag, and the second is the end
tag (they are also called opening tags and closing tags).
Another important component is the HTML document type declaration, which triggers standards mode
rendering.
The following is an example of the classic "Hello, World!" program:
<!DOCTYPE html>
<html>
<head>
<title>This is a title</title>
</head>
<body>
<p>Hello world!</p>
</body>
</html>
The text between <html> and </html> describes the web page, and the text between <body> and
</body> is the visible page content. The markup text <title>This is a title</title>defines the browser
page title.
The Document Type Declaration <!DOCTYPE html> is for HTML5. If a declaration is not included,
various browsers will revert to "quirks mode" for rendering.
Element
HTML documents imply a structure of nested HTML elements. These are indicated in the document by
HTML tags, enclosed in angle brackets thus: <p>.
In the simple, general case, the extent of an element is indicated by a pair of tags: a "start tag" <p> and
"end tag" </p>. The text content of the element, if any, is placed between these tags.
Tags may also enclose further tag markup between the start and end, including a mixture of tags and
text. This indicates further (nested) elements, as children of the parent element.
The start tag may also include attributes within the tag. These indicate other information, such as
identifiers for sections within the document, identifiers used to bind style information to the
presentation of the document, and for some tags such as the <img> used to embed images, the
reference to the image resource.
Some elements, such as the line break <br>, do not permit any embedded content, either text or further
tags. These require only a single empty tag (akin to a start tag) and do not use an end tag.
Many tags, particularly the closing end tag for the very commonly used paragraph element <p>, are
optional. An HTML browser or other agent can infer the closure for the end of an element from the
context and the structural rules defined by the HTML standard. These rules are complex and not widely
understood by most HTML coders.
The general form of an HTML element is therefore: <tag attribute1="value1"
attribute2="value2">''content''</tag>. Some HTML elements are defined as empty elements and take
the form <tag attribute1="value1" attribute2="value2">. Empty elements may enclose no content, for
instance, the <br> tag or the inline <img> tag. The name of an HTML element is the name used in the
tags. Note that the end tag's name is preceded by a slash character, /, and that in empty elements the end
tag is neither required nor allowed. If attributes are not mentioned, default values are used in each case.
Element examples
Header of the HTML document: <head>...</head>. The title is included in the head, for example:
<head>
<title>The Title</title>
</head>
Headings: HTML headings are defined with the <h1> to <h6> tags:
<h1>Heading level 1</h1>
<h2>Heading level 2</h2>
<h3>Heading level 3</h3>
<h4>Heading level 4</h4>
<h5>Heading level 5</h5>
<h6>Heading level 6</h6>
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a
document written in a markup language like HTML.[1]CSS is a cornerstone technology of the World
Wide Web, alongside HTML and JavaScript.
CSS is designed to enable the separation of presentation and content, including layout, colors, and
fonts.This separation can improve content accessibility, provide more flexibility and control in the
specification of presentation characteristics, enable multiple web pages to share formatting by
specifying the relevant CSS in a separate .css file, and reduce complexity and repetition in the
structural content.
Separation of formatting and content also makes it feasible to present the same markup page in
different styles for different rendering methods, such as on-screen, in print, by voice (via speech-based
browser or screen reader), and on Braille-based tactile devices. CSS also has rules for alternate
formatting if the content is accessed on a mobile device.
The name cascading comes from the specified priority scheme to determine which style rule applies if
more than one rule matches a particular element. This cascading priority scheme is predictable.
The CSS specifications are maintained by the World Wide Web Consortium (W3C). Internet media
type (MIME type) text/css is registered for use with CSS by RFC 2318 (March 1998). The W3C
operates a free CSS validation service for CSS documents.
In addition to HTML, other markup languages support the use of CSS, including XHTML, plain XML,
SVG, and XUL.
JAVA SCRIPT:-
JS is a dynamic computer programming language. It is most commonly used as part of web browsers,
whose implementations allow client-side
scripts to interact with the user, control the browser, communicate asynchronously, and alter the
document content that is displayed.
Java Script is used to create pop up windows displaying different alerts in the system like “User
registered successfully”, ”Product added to cart” etc.
Android
The application is delivered to customer through an android application. So android platform is used to
develop the user application.
BOOTSTRAP:-
Build responsive, mobile-first projects on the web with the world's most popular front-end component
library.Bootstrap is an open source toolkit for developing with HTML, CSS, and JS. Quickly prototype
your ideas or build your entire app with our Sass variables and mixins, responsive grid system,
extensive prebuilt components, and powerful plugins built on jQuery.
BACK END:-
The back end is implemented using MySQL which is used to design the databases.
SQL is a domain-specific language used in programming and designed for managing data held in a
relational database management system (RDBMS), or for stream processing in a relational data stream
management system (RDSMS). It is particularly useful in handling structured data where there are
relations between different entities/variables of the data. SQL offers two main advantages over older
read/write APIs like ISAM or VSAM: first, it introduced the concept of accessing many records with
one single command; and second, it eliminates the need to specify how to reach a record, e.g. with or
without an index.
Originally based upon relational algebra and tuple relational calculus, SQL consists of many types of
statements, which may be informally classed as sublanguages, commonly: a data query language
(DQL), a data definition language (DDL), a data control language (DCL), and a data manipulation
language (DML). The scope of SQL includes data query, data manipulation (insert, update and delete),
data definition (schema creation and modification), and data access control. Although SQL is often
described as, and to a great extent is, a declarative language (4GL), it also includes procedural
elements.
SQL was one of the first commercial languages for Edgar F. Codd's relational model, as described in
his influential 1970 paper, "A Relational Model of Data for Large Shared Data Banks".Despite not
entirely adhering to the relational model as described by Codd, it became the most widely used
database language.
ER DIAGRAM:-
An entity–relationship model (ER model for short) describes interrelated things of interest in a specific
domain of knowledge. A basic ER model is composed of entity types (which classify the things of
interest) and specifies relationships that can exist between instances of those entity types.
An entity–relationship diagram for an MMORPG using Chen's notation.
In software engineering, an ER model is commonly formed to represent things that a business needs to
remember in order to perform business processes. Consequently, the ER model becomes an abstract
data model, that defines a data or information structure which can be implemented in a database,
typically a relational database.
Entity–relationship modeling was developed for database design by Peter Chen and published in a 1976
paper. However, variants of the idea existed previously.Some ER models show super and subtype
entities connected by generalization-specialization relationships, and an ER model can be used also in
the specification of domain-specific ontologies.
An entity–relationship model is usually the result of systematic analysis to define and describe what is
important to processes in an area of a business. It does not define the business processes; it only
presents a business data schema in graphical form. It is usually drawn in a graphical form as boxes
(entities) that are connected by lines (relationships) which express the associations and dependencies
between entities. An ER model can also be expressed in a verbal form, for example: one building may
be divided into zero or more apartments, but one apartment can only be located in one building.
Entities may be characterized not only by relationships, but also by additional properties (attributes),
which include identifiers called "primary keys". Diagrams created to represent attributes as well as
entities and relationships may be called entity-attribute-relationship diagrams, rather than entity–
relationship models.
An ER model is typically implemented as a database. In a simple relational database implementation,
each row of a table represents one instance of an entity type, and each field in a table represents an
attribute type. In a relational database a relationship between entities is implemented by storing the
primary key of one entity as a pointer or "foreign key" in the table of another entity
There is a tradition for ER/data models to be built at two or three levels of abstraction. Note that the
conceptual-logical-physical hierarchy below is used in other kinds of specification, and is different
from the three schema approach to software engineering.
This is the highest level ER model in that it contains the least granular detail but establishes the overall
scope of what is to be included within the model set. The conceptual ER model normally defines
master reference data entities that are commonly used by the organization. Developing an enterprise-
wide conceptual ER model is useful to support documenting the data architecture for an organization.
A conceptual ER model may be used as the foundation for one or more logical data models (see
below). The purpose of the conceptual ER model is then to establish structural metadata commonality
for the master data entities between the set of logical ER models. The conceptual data model may be
used to form commonality relationships between ER models as a basis for data model integration.
A logical ER model does not require a conceptual ER model, especially if the scope of the logical ER
model includes only the development of a distinct information system. The logical ER model contains
more detail than the conceptual ER model. In addition to master data entities, operational and
transactional data entities are now defined. The details of each data entity are developed and the
relationships between these data entities are established. The logical ER model is however developed
independently of the specific database management system into which it can be implemented.
One or more physical ER models may be developed from each logical ER model. The physical ER
model is normally developed to be instantiated as a database. Therefore, each physical ER model must
contain enough detail to produce a database and each physical ER model is technology dependent since
each database management system is somewhat different.
The physical model is normally instantiated in the structural metadata of a database management
system as relational database objects such as database tables, database indexes such as unique key
indexes, and database constraints such as a foreign key constraint or a commonality constraint. The ER
model is also normally used to design modifications to the relational database objects and to maintain
the structural metadata of the database.
E-R DIAGRAM (TIPS VOTING SYSTEM)
DATA FLOW DIAGRAM:-
A Data Flow Diagram (DFD) is a structured analysis and design tool that can be used for flowcharting.
A DFD is a network that describes the flow of data and the processes that change or transform the data
throughout a system. This network is constructed by using a set of symbols that do not imply any
physical implementation. It has the purpose of clarifying system requirements and identifying major
transformations. So it is the starting point of the design phase that functionally decomposes the
requirements specifications down to the lowest level of detail. DFD can be considered to an abstraction
of the logic of an information-oriented or a process-oriented system flow-chart. For these reasons
DFD’s are often referred to as logical data flow diagrams.
EXTERNAL ENTITY
An external entity is a source or destination of a data flow. Only those entities which originate or
receive data are represented on a data flow diagram. The symbol used is a rectangular box.
PROCESS
A process shows a transformation or manipulation of data flow within the system. The symbol used is
an oval shape.
DATAFLOW
The data flow shows the flow of information from a source to its destination. Data flow is represented
by a line, with arrowheads showing the direction of flow. Information always flows to or from a
process and may be written, verbal or electronic. Each data flow may be referenced by the processes or
data stores at its head and tail, or by a description of its contents.
DATA STORE
A data store is a holding place for information within the system: It is represented by an open ended
narrow rectangle. Data stores may be long-term files such as sales ledgers, or may be short-term
accumulations: for example batches of documents that are waiting to be processed. Each data store
should be given a reference followed by an arbitrary number.
0 LEVEL DFD:-
LEVEL 1 DFD:-
LEVEL 2 DFD:-
TESTING
Software testing:-
Software testing is the process used to measure the quality of developed computer software.
Usually, quality is constrained to such topics as correctness, completeness, security, but can also
include more technical requirements as described under the ISO standard ISO 9126, such as
capability, reliability, efficiency, portability, maintainability, compatibility, and usability.
Testing is a process of technical investigation, performed on behalf of stakeholders, that is
intended to reveal quality-related information about the product with respect to the context in
which it is intended to operate.
White box, black box, and grey box testing
White box and black box testing are terms used to describe the point of view that a test engineer
takes when designing test cases. Black box testing treats the software as a black-box without
any understanding as to how the internals behave. Thus, the tester inputs data and only sees the
output from the test object. This level of testing usually requires thorough test cases to be
provided to the tester who then can simply verify that for a given input, the output value (or
behavior), is the same as the expected value specified in the test case.
White box testing, however, is when the tester has access to the internal data structures, code,
and algorithms. For this reason, unit testing and debugging can be classified as white-box
testing and it usually requires writing code, or at a minimum, stepping through it, and thus
requires more skill than the black-box
tester. If the software in test is an interface or API of any sort, white-box testing is almost
always required.
In recent years the term grey box testing has come into common usage. This involves having
access to internal data structures and algorithms for purposes of designing the test cases, but
testing at the user, or black-box level. Manipulating input data and formatting output do not
qualify as grey-box
because the input and output are clearly outside of the black-box we are calling the software
under test. This is particularly important when conducting integration testing between two
modules of code written by two different developers, where only the interfaces are exposed for
test.
Grey box testing could be used in the context of testing a client-server environment when the
tester has control over the input, inspects the value in a SQL database, and the output value, and
then compares all three (the input, sql value, and output), to determine if the data got corrupt on
the database insertion or
Retrieval .
· System testing tests a completely integrated system to verify that it meets its requirements.
· System integration testing verifies that a system is integrated to any external or third party
systems defined in the system requirements.
· Acceptance testing can be conducted by the end-user, customer, or client to validate
whether or not to accept the product. Acceptance testing may be performed as part of the hand-
off process between any two phases of development.
· Alpha testing is simulated or actual operational testing by potential users/customers or an
independent test team at the developers' site. Alpha testing is often employed for off-the-shelf
software as a form
of internal acceptance testing, before the software goes to beta testing.
· Beta testing comes after alpha testing. Versions of the software, known as beta versions, are
released to a limited audience outside of the company. The software is released to groups of
people so that further testing can ensure the product has few faults or bugs. Sometimes, beta
versions are made available to the open public to increase the feedback field to a maximal
number of future users. It should be noted that although both Alpha and Beta are referred to as
testing it is in fact use immersion. The rigors that are applied are often unsystematic and many
of the basic tenets of testing process are not used. The Alpha and Beta period provides insight
into environmental and utilization conditions that can impact the software. After modifying
software, either for a change in functionality or to fix defects, a regression test re-runs
previously passing tests on the modified software to ensure that the modifications haven't
unintentionally caused a regression of previous functionality. Regression testing can be
performed at any or all of the above test levels. These regression tests are often automated.
SMOKE TESTING:-
Smoke testing is a term used in plumbing, woodwind repair, electronics, and computer
software development. It refers to the first test made after repairs or first assembly to provide
some assurance that the system under test will not catastrophically fail. After a smoke test
proves that the pipes will not leak, the keys seal properly, the circuit will not burn, or the
software will not crash outright, the
assembly is ready for more stressful testing.
· In plumbing, a smoke test forces actual smoke through newly plumbed pipes to find leaks,
before water is allowed to flow through the pipes.
· In woodwind instrument repair, a smoke test involves plugging one end of an instrument and
blowing smoke into the other to test for leaks. (This test is no longer in common use)
· In electronics, a smoke testing is the first time a circuit is attached to power, which will
sometimes produce actual smoke if a design or wiring mistake has been made.
· In computer programming and software testing, smoke testing is a preliminary to further
testing, which should reveal simple failures severe enough to reject a prospective software
release. In this case, the smoke is metaphorical.
IMPLEMENTATION PHASE
The implementation phase involves installing approved applications into production environments.
Primary tasks include announcing the implementation schedule, training end users, and installing the
product. Additionally, organizations should input and verify data, configure and test system and
security parameters, and conduct post-implementation reviews. Management should circulate
implementation schedules to all affected parties and should notify users of any implementation
responsibilities. After organizations install a product, pre-existing data is manually input or
electronically transferred to a new system. Verifying the accuracy of the input data and security
configurations is a critical part of the implementation process.
Organizations often run a new system in parallel with an old system until they verify the accuracy and
reliability of the new system. Employees should document any programming, procedural, or
configuration changes made during the verification process.
For implementation of the website project:
1. The website can be installed on a computer or a server which has PHP and SQL installed in it.
2. The owners of the website are to be properly trained to use all the features of the website, giving
details of each features of the website.
3. To show the accuracy of the website and conformance of the website to the requirements of the
owners or users of the website.
TEST PLAN:-
The testing phase requires organizations to complete various tests to ensure the accuracy of
programmed code, the inclusion of expected functionality, and the interoperability of applications and
other network components. Thorough testing is critical to ensuring systems meet organizational and
end-user requirements. Test plans created during initial project phases enhance an organization’s ability
tocreate detailed tests.
A bottom-up approach tests smaller components first and progressively adds and tests additional
components and systems. A top-down approach first tests major components and connections and
progressively tests smaller components and connections.
Bottom-up tests often begin with functional (requirements based) testing. Functional tests should
ensure that expected functional, security, and internal control features are present and operating
properly. Testers then complete integration and end-to-end testing to ensure application and system
components interact properly. Users then conduct acceptance tests to ensure systems meet defined
acceptance criteria. Organizations should review and complete user, operator, and maintenance
manuals during the testing phase. Additionally, they should finalize conversion, implementation, and
training plans.
<center>
<div class="row">
<p> </p>
<p> </p>
<p><img src="admin/kashipara.png" width="366" height="325" alt=""/></p>
</div>
<h3> </h3>
<h3>Welcome to TIPS Voting System </h3>
</center>
<div class="row"></div>
<div class="col-md-4 col-md-offset-4">
<div class="panel-heading">
<center><h3 class="panel-title">Student Log in</h3></center>
</div>
<div class="panel-body">
<form role="form" method = "post" enctype = "multipart/form-data">
<fieldset>
<div class="form-group">
<label for = "username" >ID
no</label>
<input class="form-control"
placeholder="Please Log in your Username" name="idno" type="text" required = "required"
autofocus>
</div>
<div class="form-group">
<label for = "username"
>Password</label>
<input class="form-control"
placeholder="Password" name="password" type="password" required = "required">
</div>
</html>
LOGIN QUERY.PHP
<?php
require_once 'admin/dbcon.php';
if(isset($_POST['login'])){
$idno=$_POST['idno'];
$password=$_POST['password'];
if($voted == 1){
echo " <br><center><font color= 'red' size='3'>You Can Only Vote
Once</center></font>";
}else{
echo " <br><center><font color= 'red' size='3'>LOGIN
ERROR!</center></font>";
}
}
?>
SESS.PHP
<?php
require 'admin/dbcon.php';
session_start();
if(!ISSET($_SESSION['voters_id'])){
//header("location:index.php");
}else{
$session_id=$_SESSION['voters_id'];
$user_query = $conn->query("SELECT * FROM user WHERE user_id = '$session_id'")
or die(mysqli_errno());
$user_row = $user_query->fetch_array();
$user_username = $user_row['firstname']." ".$user_row['lastname'];
}
?>
SIDE_BAR.PHP
<?php
require 'admin/dbcon.php';
if ( isset($_GET["submit"])){
$query = $conn->query("SELECT * from voters where voters_id
='$_SESSION[id]'")or die (mysqli_errno ());
$row = $query->fetch_array();
}
?>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#" style = "color:white;font-
size:14pt;">
<?php if(!empty($row)) { ?>
<i class="fa fa-arrow fa-fw"></i>Welcome: <?php echo
$row['firstname']." ".$row['lastname'];?>
<?php } ?>
</a>
</li>
</ul>
SUBMIT VOTE.PHP
<?php
ini_set('display_errors','1');
include("admin/dbcon.php");
session_start();
session_destroy();
if(ISSET($_POST['pres_id'])){
$conn->query("INSERT INTO `votes` VALUES('', '$_SESSION[pres_id]',
'$_SESSION[voters_id]')") or die(mysql_error());
}
if(ISSET($_POST['vpinternal_id'])){
$conn->query("INSERT INTO `votes` VALUES('', '$_SESSION[vpinternal_id]',
'$_SESSION[voters_id]')") or die(mysql_error());
}
if(ISSET($_POST['vpexternal_id'])){
$conn->query("INSERT INTO `votes` VALUES('', '$_SESSION[vpexternal_id]',
'$_SESSION[voters_id]')") or die(mysql_error());
}
if(ISSET($_POST['secretary_id'])){
$conn->query("INSERT INTO `votes` VALUES('', '$_SESSION[secretary_id]',
'$_SESSION[voters_id]')") or die(mysql_error());
}
if(ISSET($_POST['auditor_id'])){
$conn->query("INSERT INTO `votes` VALUES('', '$_SESSION[auditor_id]',
'$_SESSION[voters_id]')") or die(mysql_error());
}
if(ISSET($_POST['treasurer_id'])){
$conn->query("INSERT INTO `votes` VALUES('', '$_SESSION[treasurer_id]',
'$_SESSION[voters_id]')") or die(mysql_error());
}
if(ISSET($_POST['pio_id'])){
$conn->query("INSERT INTO `votes` VALUES('', '$_SESSION[pio_id]',
'$_SESSION[voters_id]')") or die(mysql_error());
}
if(ISSET($_POST['busman_id'])){
$conn->query("INSERT INTO `votes` VALUES('', '$_SESSION[busman_id]',
'$_SESSION[voters_id]')") or die(mysql_error());
}
if(ISSET($_POST['sgtarm_id'])){
$conn->query("INSERT INTO `votes` VALUES('', '$_SESSION[sgtarm_id]',
'$_SESSION[voters_id]')") or die(mysql_error());
}
if(ISSET($_POST['muse_i'])){
$conn->query("INSERT INTO `votes` VALUES('', '$_SESSION[muse_id]',
'$_SESSION[voters_id]')") or die(mysql_error());
}
if(ISSET($_POST['escort_id'])){
$conn->query("INSERT INTO `votes` VALUES('', '$_SESSION[escort_id]',
'$_SESSION[voters_id]')") or die(mysql_error());
}
?>
VOTE.PHP
<?php include ('head.php');?>
<?php include("sess.php")?>
<body>
<div id="wrapper">
<?php include ('side_bar.php');?>
</div>
<form method = "POST" action = "vote_result.php">
<div class="col-lg-6">
<?php
}
?>
</div>
</div>
</div>
<div class="col-lg-6">
</div>
</div>
</div>
<div class="col-lg-6">
<div class="panel panel-primary">
<div class="panel-heading">
<center>VICE PRESIDENT FOR EXTERNAL AFFAIRS</center>
</div>
<div class="panel-body" style = "background-color:;">
<?php
$query = $conn->query("SELECT * FROM `candidate` WHERE
`position` = 'Vice President for External Affairs'") or die(mysqli_errno());
while($fetch = $query->fetch_array())
{
?>
<div id = "position">
<img src = "admin/<?php echo $fetch['img']?>"
style ="border-radius:6px;" height = "150px" width = "150px" class = "img">
<center><button type="button" class="btn btn-primary
btn-xs" style = "border-radius:60px;margin-top:4px;"><?php echo $fetch['firstname']."
".$fetch['lastname']?></button></center>
<center><input type = "checkbox" value = "<?php
echo $fetch['candidate_id'] ?>" name = "vpexternal_id" class = "vpexternal"></center>
</div>
<?php
}
?>
</div>
</div>
</div>
<div class="col-lg-6">
<div class="panel panel-primary">
<div class="panel-heading">
<center>SECRETARY</center>
</div>
<div class="panel-body" style = "background-color:;">
<?php
$query = $conn->query("SELECT * FROM `candidate` WHERE
`position` = 'Secretary'") or die(mysqli_errno());
while($fetch = $query->fetch_array())
{
?>
<div id = "position">
<img src = "admin/<?php echo $fetch['img']?>"
style ="border-radius:6px;" height = "150px" width = "150px" class = "img">
<center><button type="button" class="btn btn-
primary btn-xs" style = "border-radius:60px;margin-top:4px;"><?php echo $fetch['firstname']."
".$fetch['lastname']?></button></center>
<center><input type = "checkbox" value = "<?php
echo $fetch['candidate_id'] ?>" name = "secretary_id" class = "secretary"></center>
</div>
<?php
}
?>
</div>
</div>
</div>
<div class="col-lg-6">
<div class="panel panel-primary">
<div class="panel-heading">
<center>AUDITOR</center>
</div>
<div class="panel-body" style = "background-color:;">
<?php
$query = $conn->query("SELECT * FROM `candidate` WHERE
`position` = 'Auditor'") or die(mysqli_errno());
while($fetch = $query->fetch_array())
{
?>
<div id = "position">
<img src = "admin/<?php echo $fetch['img']?>"
style ="border-radius:6px;" height = "150px" width = "150px" class = "img">
<center><button type="button" class="btn btn-
primary btn-xs" style = "border-radius:60px;margin-top:4px;"><?php echo $fetch['firstname']."
".$fetch['lastname']?></button></center>
<center><input type = "checkbox" value = "<?php
echo $fetch['candidate_id'] ?>" name = "auditor_id" class = "auditor"></center>
</div>
<?php
}
?>
</div>
</div>
</div>
<div class="col-lg-6">
<div class="panel panel-primary">
<div class="panel-heading">
<center>TREASURER</center>
</div>
<div class="panel-body" style = "background-color:;">
<?php
$query = $conn->query("SELECT * FROM `candidate` WHERE
`position` = 'Treasurer'") or die(mysqli_errno());
while($fetch = $query->fetch_array())
{
?>
<div id = "position">
<img src = "admin/<?php echo $fetch['img']?>"
style ="border-radius:6px;" height = "150px" width = "150px" class = "img">
<center><button type="button" class="btn btn-
primary btn-xs" style = "border-radius:60px;margin-top:4px;"><?php echo $fetch['firstname']."
".$fetch['lastname']?></button></center>
<center><input type = "checkbox" value = "<?php
echo $fetch['candidate_id'] ?>" name = "treasurer_id" class = "treasurer"></center>
</div>
<?php
}
?>
</div>
</div>
</div>
<div class="col-lg-6">
<div class="panel panel-primary">
<div class="panel-heading">
<center>PIO</center>
</div>
<div class="panel-body" style = "background-color:;">
<?php
$query = $conn->query("SELECT * FROM `candidate` WHERE
`position` = 'PIO'") or die(mysqli_errno());
while($fetch = $query->fetch_array())
{
?>
<div id = "position">
<img src = "admin/<?php echo $fetch['img']?>"
style ="border-radius:6px;" height = "150px" width = "150px" class = "img">
<center><button type="button" class="btn btn-primary
btn-xs" style = "border-radius:60px;margin-top:4px;"><?php echo $fetch['firstname']."
".$fetch['lastname']?></button></center>
<center><input type = "checkbox" value = "<?php
echo $fetch['candidate_id'] ?>" name = "pio_id" class = "pio"></center>
</div>
<?php
}
?>
</div>
</div>
</div>
<div class="col-lg-6">
<div class="panel panel-primary">
<div class="panel-heading">
<center>BUSINESS MANAGER</center>
</div>
<div class="panel-body" style = "background-color:;">
<?php
$query = $conn->query("SELECT * FROM `candidate` WHERE
`position` = 'Business Manager'") or die(mysqli_errno());
while($fetch = $query->fetch_array())
{
?>
<div id = "position">
<img src = "admin/<?php echo $fetch['img']?>"
style ="border-radius:6px;" height = "150px" width = "150px" class = "img">
<center><button type="button" class="btn btn-primary
btn-xs" style = "border-radius:60px;margin-top:4px;"><?php echo $fetch['firstname']."
".$fetch['lastname']?></button></center>
<center><input type = "checkbox" value = "<?php
echo $fetch['candidate_id'] ?>" name = "busman_id" class = "busman"></center>
</div>
<?php
}
?>
</div>
</div>
</div>
<div class="col-lg-6">
<div class="panel panel-primary">
<div class="panel-heading">
<center>SGT @ ARMS</center>
</div>
<div class="panel-body" style = "background-color:;">
<?php
$query = $conn->query("SELECT * FROM `candidate` WHERE
`position` = 'Sgt. @ Arms'") or die(mysqli_errno());
while($fetch = $query->fetch_array())
{
?>
<div id = "position">
<img src = "admin/<?php echo $fetch['img']?>"
style ="border-radius:6px;" height = "150px" width = "150px" class = "img">
<center><button type="button" class="btn btn-
primary btn-xs" style = "border-radius:60px;margin-top:4px;"><?php echo $fetch['firstname']."
".$fetch['lastname']?></button></center>
<center><input type = "checkbox" value = "<?php
echo $fetch['candidate_id'] ?>" name = "sgtarm_id" class = "sgtarm"></center>
</div>
<?php
}
?>
</div>
</div>
</div>
<div class="col-lg-6">
<div class="panel panel-primary">
<div class="panel-heading">
<center>MUSE</center>
</div>
<div class="panel-body" style = "background-color:;">
<?php
$query = $conn->query("SELECT * FROM `candidate` WHERE
`position` = 'Muse'") or die(mysqli_errno());
while($fetch = $query->fetch_array())
{
?>
<div id = "position">
<img src = "admin/<?php echo $fetch['img']?>"
style ="border-radius:6px;" height = "150px" width = "150px" class = "img">
<center><button type="button" class="btn btn-primary
btn-xs" style = "border-radius:60px;margin-top:4px;"><?php echo $fetch['firstname']."
".$fetch['lastname']?></button></center>
<center><input type = "checkbox" value = "<?php
echo $fetch['candidate_id'] ?>" name = "muse_id" class = "muse"></center>
</div>
<?php
}
?>
</div>
</div>
</div>
<div class="col-lg-6" style = "margin-left:350px;">
<div class="panel panel-primary">
<div class="panel-heading">
<center>ESCORT</center>
</div>
<div class="panel-body" style = "background-color:;">
<?php
$query = $conn->query("SELECT * FROM `candidate` WHERE
`position` = 'Escort'") or die(mysqli_errno());
while($fetch = $query->fetch_array())
{
?>
<div id = "position">
<img src = "admin/<?php echo $fetch['img']?>"
style ="border-radius:6px;" height = "150px" width = "150px" class = "img">
<center><button type="button" class="btn btn-
primary btn-xs" style = "border-radius:60px;margin-top:4px;"><?php echo $fetch['firstname']."
".$fetch['lastname']?></button></center> <center><input type = "checkbox" value = "<?php echo
$fetch['candidate_id'] ?>" name = "escort_id" class = "escort"></center>
</div>
<?php
}
?>
</div>
</div>
</div>
$(".vpinternal").on("change", function(){
if($(".vpinternal:checked").length == 1)
{
$(".vpinternal").attr("disabled", "disabled");
$(".vpinternal:checked").removeAttr("disabled");
}
else
{
$(".vpinternal").removeAttr("disabled");
}
});
$(".vpexternal").on("change", function(){
if($(".vpexternal:checked").length == 1)
{
$(".vpexternal").attr("disabled", "disabled");
$(".vpexternal:checked").removeAttr("disabled");
}
else
{
$(".vpexternal").removeAttr("disabled");
}
});
$(".secretary").on("change", function(){
if($(".secretary:checked").length == 1)
{
$(".secretary").attr("disabled", "disabled");
$(".secretary:checked").removeAttr("disabled");
}
else
{
$(".secretary").removeAttr("disabled");
}
});
$(".auditor").on("change", function(){
if($(".auditor:checked").length == 1)
{
$(".auditor").attr("disabled", "disabled");
$(".auditor:checked").removeAttr("disabled");
}
else
{
$(".auditor").removeAttr("disabled");
}
});
$(".treasurer").on("change", function(){
if($(".treasurer:checked").length == 1)
{
$(".treasurer").attr("disabled", "disabled");
$(".treasurer:checked").removeAttr("disabled");
}
else
{
$(".treasurer").removeAttr("disabled");
}
});
$(".pio").on("change", function(){
if($(".pio:checked").length == 1)
{
$(".pio").attr("disabled", "disabled");
$(".pio:checked").removeAttr("disabled");
}
else
{
$(".pio").removeAttr("disabled");
}
});
$(".busman").on("change", function(){
if($(".busman:checked").length == 1)
{
$(".busman").attr("disabled", "disabled");
$(".busman:checked").removeAttr("disabled");
}
else
{
$(".busman").removeAttr("disabled");
}
});
$(".sgtarm").on("change", function(){
if($(".sgtarm:checked").length == 1)
{
$(".sgtarm").attr("disabled", "disabled");
$(".sgtarm:checked").removeAttr("disabled");
}
else
{
$(".sgtarm").removeAttr("disabled");
}
});
$(".muse").on("change", function(){
if($(".muse:checked").length == 1)
{
$(".muse").attr("disabled", "disabled");
$(".muse:checked").removeAttr("disabled");
}
else
{
$(".muse").removeAttr("disabled");
}
});
$(".escort").on("change", function(){
if($(".escort:checked").length == 1)
{
$(".escort").attr("disabled", "disabled");
$(".escort:checked").removeAttr("disabled");
}
else
{
$(".escort").removeAttr("disabled");
}
});
});
</script>
</html>
CANDIDATE.PHP
<body>
<div id="wrapper">
</div>
<hr/>
Candidate List
</div>
</div>
</h4>
</div>
<!-- /.panel-heading -->
<div class="panel-body">
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover" id="dataTables-
example">
<thead>
<tr>
<th>Position</th>
<th>Firstname</th>
<th>Lastname</th>
<th>Year Level</th>
<th>Gender</th>
<th>Image</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<?php
require 'dbcon.php';
$bool = false;
$query = $conn-
>query("SELECT * FROM candidate ORDER BY candidate_id DESC");
while($row =
$query->fetch_array()){
$candidate_id=$row['candidate_id'];
?>
<td style="text-align:center">
<a
rel="tooltip" title="Delete" id="<?php echo $candidate_id; ?>" href="#delete_user<?php echo
$candidate_id; ?>" data-target="#delete_user<?php echo $candidate_id?>" data-
toggle="modal"class="btn btn-danger btn-outline"><i class="fa fa-trash-o"></i> Delete</a>
<?php include
('delete_candidate_modal.php'); ?>
<a
rel="tooltip" title="Edit" id="<?php echo $row['candidate_id'] ?>" href="#edit_candidate<?php echo
$row['candidate_id'] ?>" data-toggle="modal"class="btn btn-success btn-outline"><i class="fa fa-
pencil"></i> Edit</a>
</td>
<?php
require
'edit_candidate_modal.php';
?>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<!-- /.table-responsive -->
</div>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
<!-- /.row -->
</div>
<!-- /#page-wrapper -->
</div>
<!-- /#wrapper -->
</body>
</html>
LOGIN QUERY.PHP
<?php
require_once 'dbcon.php';
if(isset($_POST['login']))
{
$username=$_POST['username'];
$password=$_POST['password'];
if ($rows == 0)
{
echo " <br><center><font color= 'red' size='3'>Please fill
up the fields correctly</center></font>";
}
else if ($rows > 0)
{
session_start();
$_SESSION['id'] = $fetch['user_id'];
header("location:candidate.php");
}
}
?>
USER.PHP
<?php include ('session.php');?>
<?php include ('head.php');?>
<body>
<div id="wrapper">
</div>
<hr/>
<th>Username</th>
<th>Password</th>
<th>Firstname</th>
<th>Lastname</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<?php
require 'dbcon.php';
$bool = false;
$query = $conn-
>query("SELECT * FROM user ORDER BY user_id DESC");
while($row = $query-
>fetch_array()){
$user_id=$row['user_id'];
?>
<td><?php echo $row
['username'];?></td>
<td><?php echo $row ['password'];?></td>
<td><?php echo $row ['firstname'];?></td>
<td><?php echo $row ['lastname'];?></td>
<td style="text-align:center">
<a
rel="tooltip" title="Delete" id="<?php echo $user_id ?>" href="#delete_admin<?php echo $user_id;
?>" data-target="#delete_admin" data-toggle="modal"class="btn btn-danger btn-outline"><i class="fa
fa-trash-o"></i> Delete</a>
<?php include
('delete_user_modal.php'); ?>
<a
rel="tooltip" title="Edit" id="<?php echo $row['user_id'] ?>" href="#edit_user<?php echo
$row['user_id'] ?>" data-toggle="modal"class="btn btn-success btn-outline"><i class="fa fa-
pencil"></i> Edit</a>
</td>
<?php include
('edit_user_modal.php');?>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<!-- /.table-responsive -->
</div>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
<!-- /.row -->
</div>
<!-- /#page-wrapper -->
</div>
<!-- /#wrapper -->
</body>
</html>
USERS.PHP
<body>
<div id="wrapper">
</div>
<hr/>
Candidate List
</div>
</div>
</h4>
</div>
<!-- /.panel-heading -->
<div class="panel-body">
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover" id="dataTables-
example">
<thead>
<tr>
<th>Position</th>
<th>Firstname</th>
<th>Lastname</th>
<th>Year_Level</th>
<th>Gender</th>
<th>Image</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<?php
include ('dbcon.php');
$candidate_id=$row['candidate_id'];
?>
<td style="text-align:center">
<a
rel="tooltip" title="Delete" id="<?php echo $candidate_id; ?>" href="#delete_user<?php echo
$candidate_id; ?>" data-target="#delete_user" data-toggle="modal"class="btn btn-danger btn-
outline"><i class="fa fa-trash-o"></i> Delete</a>
<?php include
('delete_candidate_modal.php'); ?>
<a
rel="tooltip" title="Edit" id="<?php echo $row['candidate_id'] ?>" href="#edit_candidate<?php echo
$row['candidate_id'] ?>" data-toggle="modal"class="btn btn-success btn-outline"><i class="fa fa-
pencil"></i> Edit</a>
</td>
<?php include
('edit_candidate_modal.php');?>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<!-- /.table-responsive -->
</div>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
<!-- /.row -->
</div>
<!-- /#page-wrapper -->
</div>
<!-- /#wrapper -->
</body>
</html>
VOTED.PHP
<body>
<div id="wrapper">
<?php
$count = $conn->query("SELECT COUNT(*) as total FROM
`voters`")->fetch_array();
$count1 = $conn->query("SELECT COUNT(*) as total FROM
`voters` WHERE `status` = 'Voted'")->fetch_array();
$count2 = $conn->query("SELECT COUNT(*) as total FROM
`voters` WHERE `status` = 'Unvoted'")->fetch_array();
?>
<a href="voters.php" class = "btn btn-primary btn-outline">ALL Voters
(<?php echo $count['total']?>)</a>
<a href="voted.php" class = "btn btn-success btn-outline"> Voted(<?php
echo $count1['total']?>)</a>
<a href="unvoted.php" class = "btn btn-danger btn-
outline">Unvoted(<?php echo $count2['total']?>) </a>
<br/>
<!-- /.col-lg-12 -->
<hr/>
Voters List
</div>
</div>
</h4>
</div>
<!-- /.panel-heading -->
<div class="panel-body">
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover" id="dataTables-
example">
<thead>
<tr>
<th>Name</th>
<th>ID_Number</th>
<th>Password</th>
<th>Year_Level</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<?php
require 'dbcon.php';
$query = $conn-
>query("SELECT * FROM voters where status = 'Voted'");
while($row = $query-
>fetch_array()){
$voters_id=$row
['voters_id'];
?>
<tr class="odd gradeX">
<td><?php echo $row
['firstname']." ".$row['lastname'];?></td>
<td><?php echo $row ['id_number'];?></td>
<td><?php echo $row ['password'];?></td>
<td><?php echo $row ['year_level'];?></td>
<td><?php echo $row ['status'];?></td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
<!-- /.table-responsive -->
</div>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
<!-- /.row -->
</div>
<!-- /#page-wrapper -->
</div>
<!-- /#wrapper -->
</body>
</html>
VOTERS.PHP
<?php include ('session.php');?>
<?php include ('head.php');?>
<body>
<div id="wrapper">
</div>
<?php
$count = $conn->query("SELECT COUNT(*) as total FROM
`voters`")->fetch_array();
$count1 = $conn->query("SELECT COUNT(*) as total FROM
`voters` WHERE `status` = 'Voted'")->fetch_array();
$count2 = $conn->query("SELECT COUNT(*) as total FROM
`voters` WHERE `status` = 'Unvoted'")->fetch_array();
?>
<a href="voters.php" class = "btn btn-primary btn-outline"><i class = "fa
fa-paw"></i> ALL Voters (<?php echo $count['total']?>)</a>
<a href="voted.php" class = "btn btn-success btn-outline"><i class = "fa
fa-paw"></i> Voted(<?php echo $count1['total']?>)</a>
<a href="unvoted.php" class = "btn btn-danger btn-outline"><i class = "fa
fa-paw"></i> Unvoted(<?php echo $count2['total']?>) </a>
<hr/>
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="modal-title" id="myModalLabel">
<div
class="panel panel-primary">
<div
class="panel-heading"><i class = "fa fa-users"></i>
Voters List
</div>
</div>
</h4>
</div>
<!-- /.panel-heading -->
<div class="panel-body">
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover" id="dataTables-
example">
<thead>
<tr>
<th>ID Number</th>
<th>Password</th>
<th>Name</th>
<th>Year Level</th>
<th>Status</th>
<th>Account</th>
</tr>
</thead>
<tbody>
<?php
require 'dbcon.php';
$query = $conn-
>query("SELECT * FROM voters ORDER BY voters_id DESC");
while($row1 =
$query->fetch_array()){
$voters_id=$row1['voters_id'];
?>
<tr>
<td><?php
echo $row1 ['id_number'];?></td>
<td><?php
echo $row1 ['password'];?></td>
<td><?php
echo $row1 ['firstname']." ". $row1 ['lastname'];?></td>
<td><?php
echo $row1 ['year_level'];?></td>
<td><?php
echo $row1 ['status'];?></td>
<td><?php
echo $row1 ['account'];?></td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<!-- /.table-responsive -->
</div>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
<!-- /.row -->
</div>
<!-- /#page-wrapper -->
</div>
<!-- /#wrapper -->
</body>
</html>
DBCON.PHP
<?php
$conn = new mysqli('localhost', 'root', '', 'voting');
if(!$conn){
die("Error: Failed to connect to database");
}
?>
DOWNLOAD.PHP
<?php include ('session.php');?>
<?php include ('head.php');?>
<body>
<div id="wrapper">
</div>
Voters List
</div>
</div>
</h4>
</div>
<!-- /.panel-heading -->
<div class="panel-body">
<div class="table-responsive">
<label>CSV/Excel File:</label>
<div class="controls">
<input type="file" multiple
name="filename" id="filename" class="input-large">
</div>
</div>
<br/>
<div class="control-group">
<div class="controls">
<button type="submit" id="submit" name="submit"
class="btn btn-primary button-loading" data-loading-text="Loading...">Upload</button>
</div>
</div>
</fieldset>
</form>
</div>
</div>
<!-- /.table-responsive -->
</div>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
<!-- /.row -->
</div>
<!-- /#page-wrapper -->
</div>
<!-- /#wrapper -->
</body>
</html>
HEAD.PHP
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
UNVOTED.PHP
<body>
<div id="wrapper">
</div>
<?php
$count = $conn->query("SELECT COUNT(*) as total FROM
`voters`")->fetch_array();
$count1 = $conn->query("SELECT COUNT(*) as total FROM
`voters` WHERE `status` = 'Voted'")->fetch_array();
$count2 = $conn->query("SELECT COUNT(*) as total FROM
`voters` WHERE `status` = 'Unvoted'")->fetch_array();
?>
<a href="voters.php" class = "btn btn-primary btn-outline">ALL Voters
(<?php echo $count['total']?>)</a>
<a href="voted.php" class = "btn btn-success btn-outline"> Voted(<?php
echo $count1['total']?>)</a>
<a href="unvoted.php" class = "btn btn-danger btn-
outline">Unvoted(<?php echo $count2['total']?>) </a>
<br/>
<!-- /.col-lg-12 -->
<hr/>
Voters List
</div>
</div>
</h4>
</div>
<!-- /.panel-heading -->
<div class="panel-body">
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover" id="dataTables-
example">
<thead>
<tr>
<th>Name</th>
<th>ID_Number</th>
<th>Password</th>
<th>Year_Level</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<?php
require 'dbcon.php';
$query = $conn-
>query("SELECT * FROM voters where status = 'Unvoted' ");
while($row = $query-
>fetch_array()){
$voters_id=$row ['voters_id'];
?>
<tr class="odd gradeX">
<td><?php echo $row
['firstname']." ".$row['lastname'];?></td>
<td><?php echo $row ['id_number'];?></td>
<td><?php echo $row ['password'];?></td>
<td><?php echo $row ['year_level'];?></td>
<td><?php echo $row ['status'];?></td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<!-- /.table-responsive -->
</div>
<!-- /.panel-body -->
</div>
<!-- /.panel -->
</div>
<!-- /.row -->
</div>
<!-- /#page-wrapper -->
</div>
<!-- /#wrapper -->
</body>
</html>
LOGOUT.PHP
<?php
include('dbcon.php');
include('session.php');
session_destroy();
unset($_SESSION);
header('location: index.php');
?>
SQL
--
-- Database: `voting`
--
-- --------------------------------------------------------
--
-- Table structure for table `candidate`
--
--
-- Dumping data for table `candidate`
--
INSERT INTO `candidate` (`candidate_id`, `position`, `firstname`, `lastname`, `year_level`, `gender`, `img`)
VALUES
-- --------------------------------------------------------
--
-- Table structure for table `user`
--
--
-- Dumping data for table `user`
--
-- --------------------------------------------------------
--
-- Table structure for table `voters`
--
--
-- Dumping data for table `voters`
--
INSERT INTO `voters` (`voters_id`, `id_number`, `password`, `firstname`, `lastname`, `year_level`, `status`,
`account`) VALUES
-- --------------------------------------------------------
--
-- Table structure for table `votes`
--
--
-- Dumping data for table `votes`
--
STUDENT LOGIN
VOTING FORM
REGISTRATION
CANDIDATE’S LIST
VOTER’S LIST
CANVASSING REPORT
The main aspect behind Tips Voting System is that it enabled us to bring out the new ideas that were
sustained within us for many days. This project offers the voters to cast easily through internet. Vote
counting is also made easy by the Tips Voting System since it’s just a matter of querying the database.
OVS is used by a number of countries today. Developing a good system is critical to the success of the
system to prevent system failures and to gain wide acceptance as the best method available. A good
OVS system requires ten characteristics which this system already has. These are:
Accuracy
Convenience
Reliability
Verifiability
Flexibility
Consistency
Democracy
Mobility Social
Acceptance Privacy
In analyzing, designing, implementing, and maintaining standards, we considered these characteristics
as the foundation. These standards were made national. OVS will be an inexpensive, and less time
consuming method once a system exhibiting national standards and the above mentioned characteristics
is implemented.
REFERENCES
The sources are:-
BOOKS
Matthew MacDonald, "Creating a Website - The Missing Manual", 3rd ed, 2011,
O’Reilly.
(A good introductory book on HTML/CSS.)
Matthew MacDonald, "HTML 5 - The Missing Manual", 2nd ed, 2014, O’Reilly.
Paul DuBois, "MySQL Developer's Library", 4th ed, 2009 (5th ed is probably
available).
WEBSITES
www.php.net
www.google.com
www.mysql.com
www.wikipaedia.com
https://sourceforge.net/projects/wampserver