You are on page 1of 95

Minor Project

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

Submitted To: Submitted by:


Mrs. Ritika Kapoor Deeptanshu Sharma
(01120602016)

Ms. Shweta Sharma Pratham Pande


(03220602016)

TRINITY INSTITUTE OF PROFESSIONAL STUDIES


Near Metro Track Pillar No.1160, Sector-9, Dwarka Institute Area,
New Delhi-110075
NOVEMBER-DECEMBER 2018
ACKNOWLEDGEMENT
It is great pleasure to present this report on the project named “TIPS VOTING SYSTEM”
undertaken by us as part of our BCA curriculum.
We express our deepest thanks to all coordinators, of TIPS, DWARKA for providing all
the possible help and assistance and their constant encouragement.
It is a pleasure that we find ourselves penning down these lines to express our sincere
thanks to the people who helped us along the way in completing our project. We find
inadequate words to express our sincere gratitude towards them. First and foremost, we
would like to express our gratitude towards our training guide Mrs. RITIKA KAPOOR
AND MS. SHWETA SHARMA for placing complete faith and confidence in our ability
to carry out this project and for providing us her time, inspiration, encouragement, help,
valuable guidance, constructive criticism and constant interest. She took personal interest
in spite of numerous commitments and busy schedule to help us complete this project.
Without the sincere and honest guidance of our respected project guide we would have
not been to reach the present stage.
DECLARATION

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

Dated: 02-11-2018 Names: Pratham Pande


(0322062016)
Deeptanshu Sharma
(01120602016)

Mrs. Ritika Kapoor


(Project Supervisor)

Ms. Shweta Sharma


(Project Supervi
LIST OF CONTENTS

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.

 The project maintains two levels of users:-


• Administrator Level
• Voter Level

Main facilities available in this project are:-

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.

GOALS OF PROPOSED SYSTEM:-


1. Planned approach towards working: - The working in the organization will be well
planned and organized. The data will be stored properly in data stores, which will help in
retrieval of information as well as its storage
2. Accuracy: - The level of accuracy in the proposed system will be higher. All operation
would be done correctly and it ensures that whatever information is coming from the center is
accurate.
3. Reliability: - The reliability of the proposed system will be high due to the above stated
reasons. The reason for the increased reliability of the system is that now there would be proper
storage of information.
4. No Redundancy: - In the proposed system utmost care would be that no information is
repeated anywhere, in storage or otherwise. This would assure economic use of storage space
and consistency in the data stored.
5. Immediate retrieval of information: - The main objective of proposed system is to provide
for a quick and efficient retrieval of information.
6. Immediate storage of information: - In manual system there are many problems to store the
largest amount of information.
7. Easy to Operate: - The system should be easy to operate and should be such that it can be
developed within a short period of time and fit in the limited budget of the 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.

o Require less number of staff during the election.


o This system is a lot easier to independently moderate the elections and
subsequently reinforce its transparency and fairness.
o Less capital, less effort, and less labor intensive, as the primary cost and effort
will focus primarily on creating, managing, and running a secure online portal.
o Increased number of voters as individual will find it easier and more convenient
to vote, especially those abroad.
PURPOSE:-

“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

Paper Lever Remote E- Poll Station


Ballots Systems voting E-Voting

Internet E- DRE
voting machines

Chaum’s
scheme

The categorization of the voting schemes


OBJECTIVE:-

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.

PROBLEMS WITH THE EXISTING VOTER REGISTRATION SYSTEM:-


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.

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.

In future this can also be available as a Mobile application.

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.

STUDY OF THE SYSTEM:-

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

OLD METHODS OF VOTING:-

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.

PROBLEMS WITH THE EXISTING VOTER REGISTRATION SYSTEM:-

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.

ADVANTAGES OF E-VOTING SYSTEM:-

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?

2. What resources are available for given candidate system?


3. What are the likely impacts of the candidate system on the organization?

4. Whether it is worth to solve the problem?

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:

• Form a project team and appoint a project leader.

• Prepare system flowcharts.

• Enumerate potential proposed system.

• Define and identify characteristics of proposed system.

• Determine and evaluate performance and cost effective of each proposed system.

• Weight system performance and cost data.

• Select the best-proposed system.

• Prepare and report final project directive to management.

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?

• Can the system be upgraded if developed?

• If new technology is needed then what can be developed?

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

The aspects of our study included the following factors.

Front-end selection:

1. It must have a GUI that assists employees that are not from IT background.

2. Scalability and extensibility.

3. Flexibility.

4. Robustness.

5. According to the organization requirement and the culture.

6. Must provide excellent reporting features with good printing support.

7. Platform independent.

8. Easy to debug and maintain.

9. Event driven programming facility.

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:

1. Multiple user support.

2. Efficient data handling.

3. Provide inherent features for security.


4. Efficient data retrieval and maintenance.

5. Stored procedures.

6. Popularity.

7. Operating System compatible.

8. Easy to install.

9. Various drivers must be available.

10. Easy to implant with the Front-end.

According to above stated features we selected MY SQL as the backend.

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 to conduct a full system investigation.

• The cost of hardware and software for the class of application being considered.

• The benefits in the form of reduced cost.

• 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:

• What changes will be brought with the system?

• What organization structures are disturbed?

• What new skills will be required?

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

1. Good for large projects

2. Waterfall suits a principled approach to design

3. Waterfall divides the project into manageable areas

4. Waterfall separates the logical and physical


SYSTEM REQUIREMENT SPECIFICATION:-

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. Review the existing/current voting process and approach in India.


2. Coming up an automated voting system in India.
3. Implemented online voting system.
4. Validating the system to ensure that only legible voter is allowed to vote.

NON FUNCTIONAL REQUIREMENTS:-

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.

FUNCTIONAL REQUIRMENT SPECIFICATION:-

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 /OUTPUT AND DATABASE DESIGN:-

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 (PHP):-

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>

<h1>My first PHP page</h1>

<?php
echo "Hello World!";
?>

</body>
</html>

HYPER TEXT MARKUP LANGUAGE (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):-

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.

Conceptual data model

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.

Logical data model

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.

Physical data model

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 .

Verification and Validation


Software testing is used in association with verification and validation (V&V). Verification is
the checking of or testing of items, including software, for conformance and consistency with
an associated specification. Software testing is just one kind of verification, which also uses
techniques such as reviews,
inspections, and walkthroughs. Validation is the process of checking what has been specified is
what the user actually wanted.
Verification: Have we built the software right? (i.e. does it match the specification).
· Validation: Have we built the right software? (i.e. Is this what the customer wants?)
Level of testing
· Unit testing tests the minimal software component, or module. Each unit (basic component)
of the software is tested to verify that the detailed design for the unit has been correctly
implemented. In an Object-oriented environment, this is usually at the class level, and the
minimal unit tests include the constructors and destructors.
· Integration testing exposes defects in the interfaces and interaction between integrated
components (modules). Progressively larger groups of tested software components
corresponding to elements of the architectural design are integrated and tested until the software
works as a system.
· Functional testing tests at any level (class, module, interface, or system) for proper
functionality as defined in the specification.

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

For testing of the website:


1. All the features of the website are tested by running each function available in the website.
2. The results of the tests conducted on the website are analysed properly.Only after getting satisfactory
results of testing the website can be uploaded on the network i.e. internet.
MAINTENANCE

The maintenance phase involves making changes to hardware, software, and


documentation to support its operational effectiveness. It includes making changes to
improve a system’s performance, correct problems, enhance security, or address user
requirements. To ensure modifications do not disrupt operations or degrade a system’s
performance or security, organizations should establish appropriate change management
standards and procedures.
Routine changes are not as complex as major modifications and can usually be
implemented in the normal course of business. Routine change controls should include
procedures for requesting, evaluating, approving, testing, installing, and documenting
software modifications. Maintaining accurate, up-to-date hardware and software
inventories is a critical part of all change management processes.
Management should carefully document all modifications to ensure accurate system
inventories. Management should coordinate all technology related changes through an
oversight committee and assign an appropriate party responsibility for administering
software patch management programs. Quality
assurance, security, audit, regulatory compliance, network, and end-user personnel
should be appropriately included in change management processes. Risk and security
review should be done whenever a system modification is implemented to ensure
controls remain in place.
For maintenance of the website:
1. The database has to be updated regularly according to new available information.
2. Redundant and false information must be removed from the database.
3. Newer version of PHP and MYSQL can be used for up gradation of website and to
improve the overall performance of the system.
CODING
INDEX.PHP

<?php include ('head.php');?>


<body>
<div class="container">
<div class="row">

<center>
<div class="row">
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><img src="admin/kashipara.png" width="366" height="325" alt=""/></p>
</div>
<h3>&nbsp;</h3>
<h3>Welcome to TIPS Voting System </h3>
</center>
<div class="row"></div>
<div class="col-md-4 col-md-offset-4">

<div class="login-panel panel panel-default">

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

<button class="btn btn-lg btn-success btn-block " name = "login">Login</a>


</fieldset>

<?php include ('login_query.php');?>


</form>
</div>
</div>
</div>
</div>
</div>

<?php include ('script.php');?>


</body>

</html>

LOGIN QUERY.PHP

<?php
require_once 'admin/dbcon.php';

if(isset($_POST['login'])){
$idno=$_POST['idno'];
$password=$_POST['password'];

$result = $conn->query("SELECT * FROM voters WHERE id_number = '$idno' &&


password = '$password' && `account` = 'active' && `status` = 'Unvoted'") or die(mysqli_errno());
$row = $result->fetch_array();
$voted = $conn->query("SELECT * FROM `voters` WHERE id_number = '$idno' &&
password = '$password' && `status` = 'Voted'")->num_rows;
$numberOfRows = $result->num_rows;

if ($numberOfRows > 0){


session_start();
$_SESSION['voters_id'] = $row['voters_id'];
header('location:vote.php');
}

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

<nav class="navbar navbar-default navbar-static-top navbar-primary navbar-fixed" role="navigation"


style="margin-bottom:6px;background-color:#0022ff;color:white;">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-
collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="" style = "color:white;"><img src="kashipara.png" height="52"
width="69"></a></div>

<ul class="nav navbar-top-links navbar-right">

<?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());
}

$conn->query("UPDATE `voters` SET `status` = 'Voted' WHERE `voters_id` =


'$_SESSION[voters_id]'") or die(mysql_error());
header("location:index.php");

?>

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

<div class="panel panel-primary">


<div class="panel-heading"><center>
PRESIDENT</center>
</div>
<div class="panel-body" style = "background-color:;">
<?php
$query = $conn->query("SELECT * FROM
`candidate` WHERE `position` = 'President'") 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 = "pres_id" class = "president"></center>
</div>

<?php
}
?>

</div>

</div>
</div>

<div class="col-lg-6">

<div class="panel panel-primary">


<div class="panel-heading"><center>
VICE PRESIDENT FOR INTERNAL
AFFAIRS</center>
</div>
<div class="panel-body" style = "background-color:;">
<?php
$query = $conn->query("SELECT * FROM
`candidate` WHERE `position` = 'Vice President for Internal Affairs'") or die(mysqli_errno());
while($fetch = $query->fetch_array()){
?>
<div id = "position">
<img class = "image-rounded" src = "admin/<?php echo $fetch['img']?>"style
="border-radius:6px;" height = "150px" width = "150px">
<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 = "vpinternal_id" class = "vpinternal"></center>
</div>
<?php
}
?>

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

<center><button class = "btn btn-success ballot" type = "submit" name =


"submit">Submit Ballot</button></center>
</form>
</body>
<?php include ('script.php')?>

<script type = "text/javascript">


$(document).ready(function(){
$(".president").on("change", function(){
if($(".president:checked").length == 1)
{
$(".president").attr("disabled", "disabled");
$(".president:checked").removeAttr("disabled");
}
else
{
$(".president").removeAttr("disabled");
}
});

$(".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

<?php include ('session.php');?>


<?php include ('head.php');?>

<body>

<div id="wrapper">

<!-- Navigation -->


<?php include ('side_bar.php');?>

<!-- Page Content -->


<div id="page-wrapper">
<div class="row">
<div class="col-lg-12">
<h3 class="page-header">Candidate List</h3>

</div>

<button class="btn btn-success" data-toggle="modal" data-


target="#myModal">Add Candidate</button>
<?php include ('add_candidate_modal.php');?>
<!-- /.col-lg-12 -->

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

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><?php echo $row


['position'];?></td>
<td><?php echo $row ['firstname'];?></td>
<td><?php echo $row ['lastname'];?></td>
<td><?php echo $row ['year_level'];?></td>
<td><?php echo $row ['gender'];?></td>
<td width="50"><img src="<?php echo $row['img']; ?>" width="50"
height="50" class="img-rounded"></td>

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

<?php include ('script.php');?>

</body>

</html>

LOGIN QUERY.PHP

<?php
require_once 'dbcon.php';
if(isset($_POST['login']))
{
$username=$_POST['username'];
$password=$_POST['password'];

$query = $conn->query("SELECT * FROM user WHERE username = '$username'


AND password = '$password'") or die(mysql_error());
$rows = $query->num_rows;
$fetch = $query->fetch_array();

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

<!-- Navigation -->


<?php include ('side_bar.php');?>

<!-- Page Content -->


<div id="page-wrapper">
<div class="row">
<div class="col-lg-12">
<h3 class="page-header">System User List</h3>

</div>

<button class="btn btn-success" data-toggle="modal" data-


target="#add_user">Add User</button>
<?php include ('add_user_modal.php');?>
<!-- /.col-lg-12 -->

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

User Data 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>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 -->

<?php include ('script.php');?>

</body>

</html>
USERS.PHP

<?php include ('session.php');?>


<?php include ('head.php');?>

<body>

<div id="wrapper">

<!-- Navigation -->


<?php include ('side_bar.php');?>

<!-- Page Content -->


<div id="page-wrapper">
<div class="row">
<div class="col-lg-12">
<h3 class="page-header">Candidate List</h3>

</div>

<button class="btn btn-success" data-toggle="modal" data-


target="#myModal">Add Candidate</button>
<?php include ('add_candidate_modal.php');?>
<!-- /.col-lg-12 -->

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

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');

$query=mysql_query("SELECT * FROM candidate ORDER BY candidate_id DESC");


while($row =
mysql_fetch_array($query)){

$candidate_id=$row['candidate_id'];
?>

<td><?php echo $row


['position'];?></td>
<td><?php echo $row ['firstname'];?></td>
<td><?php echo $row ['lastname'];?></td>
<td><?php echo $row ['year_level'];?></td>
<td><?php echo $row ['gender'];?></td>
<td width="50"><img src="<?php echo $row['img']; ?>" width="50"
height="50" class="img-rounded"></td>

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

<?php include ('script.php');?>

</body>

</html>

VOTED.PHP

<?php include ('session.php');?>


<?php include ('head.php');?>

<body>

<div id="wrapper">

<!-- Navigation -->


<?php include ('side_bar.php');?>

<!-- Page Content -->


<div id="page-wrapper">
<div class="row">
<div class="col-lg-12">
<h3 class="page-header">Voted Page</h3>
</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/>

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

<?php include ('script.php');?>


<?php include ('edit_voters_modal.php');?>

</body>
</html>

VOTERS.PHP
<?php include ('session.php');?>
<?php include ('head.php');?>

<body>
<div id="wrapper">

<!-- Navigation -->


<?php include ('side_bar.php');?>

<!-- Page Content -->


<div id="page-wrapper">
<div class="row">
<div class="col-lg-12">
<h3 class="page-header">TIPS Student List</h3>

</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> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;

<a href = "update_status.php"class = "btn btn-danger btn-outline pull-


right" style = "margin-right:12px;" name = "go"><i class = "fa fa-asterisk fa-spin"></i> Activate All
Voters Account</a>
<a href = "generate_password.php"class = "btn btn-success btn-outline
pull-right" name = "go"><i class = "fa fa-spinner fa-spin"></i> Generate Voters Password</a>
<br />
<br />
<a href="download.php" class="btn btn-success btn-outline"><i
class="glyphicon glyphicon-save"></i> Import Students Data</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 -->

<?php include ('script.php');?>

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

<!-- Navigation -->


<?php include ('side_bar.php');?>

<!-- Page Content -->


<div id="page-wrapper">
<div class="row">
<div class="col-lg-12">
<h3 class="page-header">Import From Excel Files</h3>

</div>

<div class="panel panel-default">


<div class="panel-heading">
<h4 class="modal-title" id="myModalLabel">
<div
class="panel ">
<div
class="panel-heading">

Voters List
</div>
</div>
</h4>
</div>
<!-- /.panel-heading -->
<div class="panel-body">
<div class="table-responsive">

<div class="span6" id="form-login">


<form class="form-horizontal well" action="import.php" method="post"
name="upload_excel" enctype="multipart/form-data">
<fieldset>
<legend>Import CSV/Excel file</legend>
<div class="control-group">

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

<?php include ('script.php');?>

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

<title> Automated Voting System PSITS</title>

<!-- Bootstrap Core CSS -->


<link href="../css/bootstrap.min.css" rel="stylesheet">

<!-- Default Layout -->


<link href="../css/style.css" rel="stylesheet">

<!-- MetisMenu CSS -->


<link href="../css/plugins/metisMenu/metisMenu.min.css" rel="stylesheet">

<!-- Custom CSS -->


<link href="../css/sb-admin-2.css" rel="stylesheet">

<!-- Custom Fonts -->


<link href="../font-awesome-4.1.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">

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

<?php include ('session.php');?>


<?php include ('head.php');?>

<body>

<div id="wrapper">

<!-- Navigation -->


<?php include ('side_bar.php');?>

<!-- Page Content -->


<div id="page-wrapper">
<div class="row">
<div class="col-lg-12">
<h3 class="page-header">Unvoted Page</h3>

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

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

<?php include ('script.php');?>


<?php include ('edit_voters_modal.php');?>

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

CREATE TABLE IF NOT EXISTS `candidate` (


`candidate_id` int(11) NOT NULL,
`position` varchar(100) NOT NULL,
`firstname` varchar(100) NOT NULL,
`lastname` varchar(100) NOT NULL,
`year_level` varchar(100) NOT NULL,
`gender` varchar(100) NOT NULL,
`img` varchar(100) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `candidate`
--

INSERT INTO `candidate` (`candidate_id`, `position`, `firstname`, `lastname`, `year_level`, `gender`, `img`)
VALUES
-- --------------------------------------------------------

--
-- Table structure for table `user`
--

CREATE TABLE IF NOT EXISTS `user` (


`user_id` int(11) NOT NULL,
`username` varchar(100) NOT NULL,
`password` varchar(100) NOT NULL,
`firstname` varchar(100) NOT NULL,
`lastname` varchar(100) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `user`
--

INSERT INTO `user` (`user_id`, `username`, `password`, `firstname`, `lastname`) VALUES

-- --------------------------------------------------------
--
-- Table structure for table `voters`
--

CREATE TABLE IF NOT EXISTS `voters` (


`voters_id` int(11) NOT NULL,
`id_number` int(11) NOT NULL,
`password` varchar(100) NOT NULL,
`firstname` varchar(100) NOT NULL,
`lastname` varchar(100) NOT NULL,
`year_level` varchar(100) NOT NULL,
`status` varchar(100) NOT NULL,
`account` varchar(100) NOT NULL
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

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

CREATE TABLE IF NOT EXISTS `votes` (


`vote_id` int(255) NOT NULL,
`candidate_id` varchar(255) NOT NULL,
`voters_id` varchar(255) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=latin1;

--
-- Dumping data for table `votes`
--

INSERT INTO `votes` (`vote_id`, `candidate_id`, `voters_id`) VALUES


OUTPUT/SCREENSHOTS:-

STUDENT LOGIN
VOTING FORM

FINAL VOTE SUBMITTION


ADMIN LOGIN

REGISTRATION
CANDIDATE’S LIST

VOTER’S LIST
CANVASSING REPORT

SYSTEM USER LIST


FUTURE SCOPE
FUTURE SCOPE

The project entitled Tips Voting System was completed successfully.


The system has been developed with much care and free of errors and at the same time it is efficient
and less time consuming. The purpose of this project was to develop a web application for voting
online.
This project helped us in gaining valuable information and practical knowledge on several topics like
designing web pages using html & css, usage of responsive templates, designing of web applications,
and management of database using sql. The entire system is secured. Also the project helped us
understanding about the development phases of a project and software development life cycle. We
learned how to test different features of a project.
This project has given us great satisfaction in having designed a web application which can be
implemented to any institution or organization by simple modifications.
There is a scope for further development in our project to a great extent.
CONCLUSION

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

 Mozilla's (MDN) "JavaScript Guide" @ https://developer.mozilla.org/en-


US/docs/Web/JavaScript/Guide.

 W3School JavaScript Tutorials, References and Examples @


http://www.w3schools.com.

 jQuery Tutorial @ https://learn.jquery.com.

 www.php.net

 www.google.com

 www.mysql.com

 www.wikipaedia.com

 https://sourceforge.net/projects/wampserver

You might also like