The republic of Kenya comprises of eight (8) provinces now forty-seven counties. The country is located in East Africa and shares land borders with the Republics of Somalia in the East, Uganda in the West, Tanzania in the South and Ethiopia and Sudan (now South Sudan) in the North. The three largest and most influential ethnic groups in Kenya are the kikuyu, Luhya, and Kalenjins. In terms of religion Kenya is roughly split into 80% Christians while the rest are Muslims.
In Kenya, general elections are carried out every after five years where a head of state the President and The National Assembly representatives are elected. They are elected by the people. The national Assembly has about 220 members representing respective constituencies.
In the Local Governments they have the chairman and the Counselor. The counselors are all elected by the people of the state in the respective wards.
That is to say, in any given general elections, Kenyans vote for the president, the members of the National Assembly and the counselors.
Most African Electoral bodies IEBC not an exception right from their inception to date, even with latest advancements in technology, still use a primitive paper based methods during voting; this system is characterized by manual form filling to chose leaders and transfer of the information from manual data capture forms to computerized datasheets, this has led to an excessive number of mistakes making their way into the final vote counts hence leading to confusion at the time of announcing the results. The main advantage of paper-based systems is that ballot papers are easily human auditable. The disadvantages outweigh the advantages for instance the need to print ballot papers is a slow, expensive, inflexible, environmentally hostile process, visual impairments, or literacy limitations and also last minute changes to the voter register are difficult to accommodate among others.
The republic of Kenya comprises of eight (8) provinces now forty-seven counties. The country is located in East Africa and shares land borders with the Republics of Somalia in the East, Uganda in the West, Tanzania in the South and Ethiopia and Sudan (now South Sudan) in the North. The three largest and most influential ethnic groups in Kenya are the kikuyu, Luhya, and Kalenjins. In terms of religion Kenya is roughly split into 80% Christians while the rest are Muslims.
In Kenya, general elections are carried out every after five years where a head of state the President and The National Assembly representatives are elected. They are elected by the people. The national Assembly has about 220 members representing respective constituencies.
In the Local Governments they have the chairman and the Counselor. The counselors are all elected by the people of the state in the respective wards.
That is to say, in any given general elections, Kenyans vote for the president, the members of the National Assembly and the counselors.
Most African Electoral bodies IEBC not an exception right from their inception to date, even with latest advancements in technology, still use a primitive paper based methods during voting; this system is characterized by manual form filling to chose leaders and transfer of the information from manual data capture forms to computerized datasheets, this has led to an excessive number of mistakes making their way into the final vote counts hence leading to confusion at the time of announcing the results. The main advantage of paper-based systems is that ballot papers are easily human auditable. The disadvantages outweigh the advantages for instance the need to print ballot papers is a slow, expensive, inflexible, environmentally hostile process, visual impairments, or literacy limitations and also last minute changes to the voter register are difficult to accommodate among others.
This PPT maily contains about online polling. The basic idea of online polling is to facilitate the user to vote from anywhere just sitting infront of computer system.
www.electionproject.ajce.ind.in
online election managment system is for automate tasks of an election.
web application was developed using cakephp.
full report and code is available .
for more details contact chikkujoseph50@gmail.com
E-Voting system is a system which allow all citizens of country to cast their vote online is to increase the overall voting percentage across the country, as in the recent scenario people have to visit the booth to cast their vote and those people who live out of their native place are not able to cast vote during the elections. So due to this the voting percentage across the country is very less. Through this software those people who live out of their home town will also be able to cast their votes as this system is online. The main objective of this software is to increase the overall voting percentage and create and manage polling and election details like general user details, nominated users, and election and result details efficiently.
Voting is the opportunity given to the people it is one of the political process, and the system is created to work best with everyone’s participation. Electronic Voting Machines (EVM) are being used by Indian election commission to conduct elections for the past decade. In Aadhar based electronic voting machine voters have to register their fingerprint. Based on the features of fingerprint it gets matched with the person who will cast the vote. Finger print matching will be done using the Aadhar card data base. The efficiency of a fingerprint is based on biometric system and is relatively high in comparison to other biometric based authentication systems like iris recognition, face readers, retina scanning, voice recognitions or hand geometry. With the help of keypad matrix voter can select the candidate to whom they wish to cast their vote and a message is displayed in LCD confirming the vote casted.
This PPT maily contains about online polling. The basic idea of online polling is to facilitate the user to vote from anywhere just sitting infront of computer system.
www.electionproject.ajce.ind.in
online election managment system is for automate tasks of an election.
web application was developed using cakephp.
full report and code is available .
for more details contact chikkujoseph50@gmail.com
E-Voting system is a system which allow all citizens of country to cast their vote online is to increase the overall voting percentage across the country, as in the recent scenario people have to visit the booth to cast their vote and those people who live out of their native place are not able to cast vote during the elections. So due to this the voting percentage across the country is very less. Through this software those people who live out of their home town will also be able to cast their votes as this system is online. The main objective of this software is to increase the overall voting percentage and create and manage polling and election details like general user details, nominated users, and election and result details efficiently.
Voting is the opportunity given to the people it is one of the political process, and the system is created to work best with everyone’s participation. Electronic Voting Machines (EVM) are being used by Indian election commission to conduct elections for the past decade. In Aadhar based electronic voting machine voters have to register their fingerprint. Based on the features of fingerprint it gets matched with the person who will cast the vote. Finger print matching will be done using the Aadhar card data base. The efficiency of a fingerprint is based on biometric system and is relatively high in comparison to other biometric based authentication systems like iris recognition, face readers, retina scanning, voice recognitions or hand geometry. With the help of keypad matrix voter can select the candidate to whom they wish to cast their vote and a message is displayed in LCD confirming the vote casted.
This paper proposes the need of authenticated voting system in our election due to the increase in illegal voting or bogus voting in Loksabha and Rajyasabha election. Here the authentication of an individual is done using biometric and eligibility of the voter is verified using the Aadhar card. In this project, the database stored in the Aadhar card provides the reference data. Moreover, added tier of security is enforced as biometrics. The key functions of this paper are enrolment and matching. Initially, the voters’ fingerprints are enrolled and stored. Once the fingerprints are stored it can be retrieved at any time for authentication. During election, when the voter keeps his/her fingerprint the already stored Aadhar card details will be displayed from the database. An individual’s details can be deleted from the database if not required. The use of biometric requires less man power, save much time for voters and personnel, ensures accuracy, transparency and avoids bogus voting.
Real time voting system using face recognition for different expressions and ...eSAT Publishing House
IJRET : International Journal of Research in Engineering and Technology is an international peer reviewed, online journal published by eSAT Publishing House for the enhancement of research in various disciplines of Engineering and Technology. The aim and scope of the journal is to provide an academic medium and an important reference for the advancement and dissemination of research results that support high-level learning, teaching and research in the fields of Engineering and Technology. We bring together Scientists, Academician, Field Engineers, Scholars and Students of related fields of Engineering and Technology
This article discusses the implementation of iris recognition in improving the security of border control systems in the United Arab Emirates. The article explains the significance of the implemented solution and the advantages the government has gained to-date. The UAE deployment of iris recognition technology is currently the largest in the world, both in terms of number of Iris records enrolled (more than 840,751) and number of iris comparisons performed daily 6,225,761,155 (6.2 billion) in ‘all-against-all’ search mode.
The purpose of this paper is to examine the main security problems in electronic voting systems, particularly security threats to DRE voting systems and security threats to the Internet voting systems. It will focus on how security problems can be addressed. The paper is divided into four parts. The first part will pinpoint the criteria of using electronic voting systems while focusing on the main security problems in DRE and Internet based voting systems and will suggest their solutions. The second and third parts will propose secure reference architecture for electronic and internet based voting systems while the last part will be the conclusion.
Evaluation of Iris Recognition System on Multiple Feature Extraction Algorith...Editor IJCATR
Multi-algorithmic approach to enhancing the accuracy of iris recognition system is proposed and
investigated. In this system, features are extracted from the iris using various feature extraction algorithms,
namely LPQ, LBP, Gabor Filter, Haar, Db8 and Db16. Based on the experimental results, it is demonstrated
that Mutli-algorithms Iris Recognition System is performing better than the unimodal system. The accuracy
improvement offered by the proposed approach also showed that using more than two feature extraction
algorithms in extracting the iris system might decrease the system performance. This is due to redundant
features. The paper presents a detailed description of the experiments and provides an analysis of the
performance of the proposed method.
Mobile Voting System Using Advanced NFC Technologyijsrd.com
Electronic voting system are becoming popular with wide spread use of computer and embedded system. Security is the main important issue should be considered in such system. Mobile voting system is basically used for collecting and counting votes. In this technology include punch card, optical scan voting system. This paper proposes a new Mobile based voting system using advanced NFC technology, Voting is the process that allows the general public or the people to choose their leaders and articulate views on how they will be governed. This gives a comprehensive analysis of security with respect to NFC. This study deals with the use of information technology to handle electoral processes starting from voters and candidates registration to the actual casting and counting of ballots. Exploring mobile voting from a systems perspective can demonstrate the attributes of the current systems and the possible solutions for the voting process so any one can caste their vote from any place.
Mobile, Secure E - Voting Architecture for the Nigerian Electoral Systemiosrjce
IOSR Journal of Computer Engineering (IOSR-JCE) is a double blind peer reviewed International Journal that provides rapid publication (within a month) of articles in all areas of computer engineering and its applications. The journal welcomes publications of high quality papers on theoretical developments and practical applications in computer technology. Original research papers, state-of-the-art reviews, and high quality technical notes are invited for publications.
Paper helps to learner to know about various bio metrics and comparison between them. this paper provide researchers a brief information so that they can choose their research area in biometric based on the comparison
Detailed Project Report on Online Examination System in Dot net in very easy manner, once understood you can write the code in Java or any other language also
Ignou MCA 4th semester mini project report. College admission system. This project is based on real working system of University seat allocation to affiliate colleges. College admission system provide seat allocation process for various UG PG programs for every academic session.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Welocme to ViralQR, your best QR code generator.ViralQR
Welcome to ViralQR, your best QR code generator available on the market!
At ViralQR, we design static and dynamic QR codes. Our mission is to make business operations easier and customer engagement more powerful through the use of QR technology. Be it a small-scale business or a huge enterprise, our easy-to-use platform provides multiple choices that can be tailored according to your company's branding and marketing strategies.
Our Vision
We are here to make the process of creating QR codes easy and smooth, thus enhancing customer interaction and making business more fluid. We very strongly believe in the ability of QR codes to change the world for businesses in their interaction with customers and are set on making that technology accessible and usable far and wide.
Our Achievements
Ever since its inception, we have successfully served many clients by offering QR codes in their marketing, service delivery, and collection of feedback across various industries. Our platform has been recognized for its ease of use and amazing features, which helped a business to make QR codes.
Our Services
At ViralQR, here is a comprehensive suite of services that caters to your very needs:
Static QR Codes: Create free static QR codes. These QR codes are able to store significant information such as URLs, vCards, plain text, emails and SMS, Wi-Fi credentials, and Bitcoin addresses.
Dynamic QR codes: These also have all the advanced features but are subscription-based. They can directly link to PDF files, images, micro-landing pages, social accounts, review forms, business pages, and applications. In addition, they can be branded with CTAs, frames, patterns, colors, and logos to enhance your branding.
Pricing and Packages
Additionally, there is a 14-day free offer to ViralQR, which is an exceptional opportunity for new users to take a feel of this platform. One can easily subscribe from there and experience the full dynamic of using QR codes. The subscription plans are not only meant for business; they are priced very flexibly so that literally every business could afford to benefit from our service.
Why choose us?
ViralQR will provide services for marketing, advertising, catering, retail, and the like. The QR codes can be posted on fliers, packaging, merchandise, and banners, as well as to substitute for cash and cards in a restaurant or coffee shop. With QR codes integrated into your business, improve customer engagement and streamline operations.
Comprehensive Analytics
Subscribers of ViralQR receive detailed analytics and tracking tools in light of having a view of the core values of QR code performance. Our analytics dashboard shows aggregate views and unique views, as well as detailed information about each impression, including time, device, browser, and estimated location by city and country.
So, thank you for choosing ViralQR; we have an offer of nothing but the best in terms of QR code services to meet business diversity!
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
Online Voting System
1. 1
DECLARATION:
I Stephen Nganda Muindi declare to the best of research knowledge that this semester project is
my original work and that it has never been submitted to any university or any other institution.
The literature and citations from other people’s work have been duly referenced and
acknowledged in the text, footnotes and bibliography.
Signed: ……………………………………………………
Date……………………………………………………………
Stephen N. Muindi
Student-JKUAT
Signed: …………………………………………………… Date
……………………………………………………………
Mr. Samson Ochingo
Supervisor
2. 2
DEDICATION
This project is dedicated to my Almighty God, my mother, to the department of computing in the
faculty of Institute of Computer Science and Information Technology (ICSIT) at Jomo Kenyatta
University of Agriculture and Technology (JKUAT) and to my fellow students who supported
and guided me throughout this worthy course of study.
3. 3
ACKNOWLEDGEMENT
I register my appreciation and acknowledgement to the Almighty God for sustaining me, giving
me life, enabling me to finish this work through His strength, My mother (Ruth Muminah) and
my sister (Grace Ivui Muindi) for their moral and spiritual support, JKUAT for providing me
with such a conducive environment under which I could do my work and not forgetting my
supervisor Mr. Samson Ochingo for the technical support that he has offered unto me throughout
the entire process. My regards goes to all my classmates for the assistance and guidance that they
have offered unto me.
4. Declaration…………………………………………………………………………………1
Dedication………………………………………………………………………………….2
Acknowledgement………………………………………….……………………………....3
Introduction……………………………………………………………………………..…..6
Background………………………………………………………………………….....…6
Problem Statement………………………………………………………………………..6
Justification……………………………………………………………………………….Error!
Bookmark not defined.
Benefits of the new systems………………………………………………………………7
Objectives…………………………………………………………………………………7
Project Schedule……………………………………………………………………….....8
Literature Review……………………………………………………………………………9
Introduction……………………………………………………………………………...10
Case Study……………………………………………………………………………….10
Overview of the current Voting system in J.K.U.A.T………………...…………….10
System Analysis…………………………………………………………...………………..11
Introduction………………………………………………………………………………11
Problem Specification........................................................................................................12
Proposed System................................................................................................................13
Feasibility Study................................................................................................................14
Operational Feasibility................................................................................................14
Technical Feasibility...................................................................................................14
Economic Feasibility...................................................................................................15
Schedule Feasibility.....................................................................................................15
Requirements Specification................................................................................................16
Overview of System Requirements..............................................................................17
Functional Requirements……………………………………………………………..18
Non-Functional Requirements………………………………………………………...19
4
5. Data Collection Methods.....................................................................................................21
Questionnaires..............................................................................................................21
Interviews.....................................................................................................................22
Observation..................................................................................................................22
Documentation.............................................................................................................22
System Design........................................................................................................................23
Data Flow diagram…………………………………………………………………..23
Three Tier Architecture……………………………………………………………...24
Description of the Three Tier Architecture……………………………………….…24
System Interface and Design………………………………………………………………...26
Functional breakdown of the system by design………………………………………26
System Development…………………………………………………………….……….….30
Properties of programming languages and database used………………………………..30
PHP Programming Language……………………………………………………………..30
MYSQL Database…………………………………………………………………………31
XAMPP 1.7.2……………………………………………………………………………...31
Data Structures and Algorithms used………………………………………………………..33
Implementation and Testing…………………..………………………………………………38
Installation Guide…………………………………………………………………...….…38
Install the XAMPP server…………………………………………………………………38
Setting up the System……………………………………………………………………..44
Setting up the Database…………………………………………………………………...44
Accessing the System……………………………………………………………………..44
Risk associated with system…………………………………………………………………44
APPENDIX A: SAMPLE CODE .................................................................................. 45
APPENDIX B: REFERENCES ..................................................................................... 48
B.1 Webliograpy……………………………………………………………………………..48
B.1 Bibliography……………………………………………………………………………..48
5
6. 6
CHAPTER ONE: INTRODUCTION
Background
Every academic year in J.K.U.A.T one of the most fundamental critical functions to the
student community takes place. The election of the student’s leaders is held at September of each
academic year in a bid to bring fresh ideas in the running of the student organization.
The methods of campaign, election and post-election processes have been all the same since
the inception of the student organization. These methods are in every right acceptable but fall
short in this age of information and Technology, in that they are slow, entertain rigging to some
degree and not so friendly to the environment.
Bearing in mind just but the few reasons outlined above, the need for a more fast and robust
election/voting system was idealized. Thus an online voting system.
Problem Statement
The major problem with the current system is that it involves a lot of manual operations which
are prone to errors and are definitely slow.
Limitations of the Current System
It is slow: the voting process has to be completed first before the results are announced
and also queuing to vote enhances the slowness
It is tedious: The clerks involved in the verification, tallying and other elections duties get
exhausted at the end of the day since everything is manual
The whole election process is not environment friendly since the amount of paper
required for that single day is humongous
The process is expensive, this is because a lot of paper has to be bought, ballot boxes, and
also the printing of the ballot papers
Rigging: Since the process of tallying the votes is manual unscrupulous clerks can tamper
with the results through rigging votes
Time wastage, due to the slowness of the system a lot of time is wasted in the whole
election process which could have been useful in undertaking other duties.
7. Justification
Web-based solutions can be accessed anywhere as long as there is connectivity. Bearing in mind
the expansive J.K.U.A.T intranet and the unlimited internet offered by the institution a web-based
election system would come in handy to facilitate free and fair elections.
The system would be centrally placed and only be active during the election period. The system
will incorporate verifications of students, voting for the candidates and a real-time tally of the
votes.
Since it is web-based it can be accessed from anywhere, be it at campus, in the hostels and even
at home.
7
Benefits of the new systems
The system will facilitate free and fair elections since the tallying of the votes
cannot be tampered with.
The system will facilitate a faster election process since one can vote from
anywhere and the real-time tallying makes it fast to announce the elected leaders.
Since the system removes the geographical limitation factor all students can vote
for their leader regardless of their location.
The election process is made cheaper since printing of ballot papers is eliminated
and fewer clerks if any required.
Cases of double voting are eliminated since the verification process of the system
ensures one cannot vote more than once.
Objectives
To develop an online web-based voting system that can be used during the
election period to vote for student leaders.
To come up with a system documentation
To establish the metrics for measuring and evaluating usability
To establish the principles that support usability
8. Project Schedule:
The project will take one semester. Below is the breakdown of activities;
Task ID Week Task Name
1. 1-6 Research and proposal writing
2. 7-8 Data collection
3. 9-14 Project Design
4. 14-15 Documentation
5. 16 Presentation
8
9. CHAPTER TWO: LITERATURE REVIEW
9
Introduction
This section intends to review the current situation in the school which will assist in bettering the
voting system. Here we will look at the current methods and technologies used during voting as
well as the processes involved.
Case Study: Overview of the current Voting system in J.K.U.A.T
Currently in JKUAT elections are done in using the old age manual ballot system. A list of the
students vying for the Student Council has their names outlined so that the entire school can get
acquainted with them. After a week of campaigns the elections are done.
A list of all the students in JKUAT is availed to their respective departments. The different
departments set up polling stations in different parts of the school to facilitate the elections
process.
At the polling stations, students queue for a chance to vote a list of leaders in the different
positions. At the voting room a student is verified using their Student ID to ascertain that they are
genuine students of the campus. Their names’ are crossed off and each is given a ballot papers
where they check their candidates. Afterwards the votes are cast and the student leaves the room.
After the day is over, the tallying is done and depending on when its done, the results are
announced that day or the following morning.
However, one major issue that has not been exhaustively addressed so far is the security of
mobile applications. Security depends on several factors including sending and access to
confidential information via the client phones, how the information is protected, secured and the
level of user satisfaction in relation to reliability and dependability. The future of mobile
application heavily depends upon how secure the service is to use. Reliable and secure
applications play a central role in the success of mobile application.
Elections allow the populace to choose their representatives and express their preferences for
how they will be governed. Naturally, the integrity of the election process is fundamental to the
integrity of democracy itself. The election system must be sufficiently robust to withstand a
variety of fraudulent behaviors and must be sufficiently transparent and comprehensible that
voters and candidates can accept the results of an election. Unsurprisingly, history is littered with
examples of elections being manipulated in order to influence their outcome.
The design of a “good” voting system, whether electronic or using traditional paper ballots or
mechanical devices must satisfy a number of sometimes competing criteria. The anonymity of a
10. voter’s ballot must be preserved, both to guarantee the voter’s safety when voting against a
malevolent candidate, and to guarantee that voters have no evidence that proves which
candidates received their votes. The existence of such evidence would allow votes to be
purchased by a candidate. The voting system must also be tamper-resistant to a wide range of
attacks, including ballot stuffing by voters and incorrect tallying by insiders.
10
11. CHAPTER THREE: SYSTEM ANALYSIS
Introduction
When carrying out System Analysis of an Online voting system, the initial step is to find out
how the current/existing system works. This is to help in getting a better of understanding of the
problems that are existent and whether they can be fixed with the proposed system or whether
the existing system can be upgraded and modified. In short, system analysis is the process of
investigating a system, identifying problems, and using the information to recommend
improvements to the system. System analysis is supposed to define how the system will be
implemented.
Steps in System Analysis
11
12. In this section, we will focus our attention on the principal functional and non- functional
(performance) requirements of the Online voting System. These two types of requirements will
describe to us the capabilities of the system based on the objectives and goals, and what physical
software requirements are necessary for the system to work with ease.
There are 2 main phases that are involved in System Analysis:
Feasibility Study – used to check whether the project can be implemented i.e. is
12
practical
Requirements Specification – used to find out the capabilities of the system i.e.
what the system will be able to do, from as many sources as possible. Some of the
techniques that can be used to accomplish this task are interviews, document review,
focused group discussions and observation can be user to accomplish this task.
Problem Specification - Current System Analysis
After every year, a general election is held and the JKEC therefore is required to register voters
during this period. A manual system is used to carry out this process where the records of voters
are placed on paper. The process of voting takes a whole day in a specified polling stations,
voters spend unproductive hours (2-3 hours on average) queuing to vote. This makes the process
inconvenient as due to limitation of time and location, thereby reducing the voting rate and
anonymity. This is attributed to the unavailability of alternatives, complexity and general
uncertainty surrounding technological innovations. In the current system involves queuing at the
polling station of voter registration. As a result, the process has the following drawbacks:
Time consuming: Voters spend unproductive hours (2-3 hours on average) queuing to
vote.
Location limited: A voter can only vote at the polling station of registration.
Costly: A lot of paperwork involved in the current manual system which is costly and
the voter travelling costs.
13. Proposed System - Applicable Solutions
Development and implementation a secure system that will enable voting for the general public
are made easier, faster and at the user’s point of work. This is in terms of accessibility of the
service and the ease of its use. Voters will be able to vote from the point they are without need to
travel in advance.
There is a need to come up with a system that will not only help JKEC to improve its delivery of
services to voters but also to cut on the Government expenditure
The students registration process will be managed by the JKEC in collaboration with the
Department his/her course is offered. An administrator to update and manage the system will be
in charge of that stage of the registration process. The system will assist in ensuring that JKEC
has data on voters for use when need arises.
13
Voters’ data include:
Admission REG number.
Voter Identity.
Therefore e-voting not only serves as aid in counting the votes, by now they support all three
main voting processes:
1. Pre-Election Phase: Identification of the voter, checking of eligibility
2. Election Phase: Casting the vote
3. Post-Election Phase: Counting of the votes.
The aim of this project is to develop a secure voting system with which users can participate
using their mobile phone.
The system shall be made up of the following four components:
1. Web client application (e-vote)
2. Server application
3. Database back-end and web-based administration tool
The server should be able to send a reply to the client at real time, acknowledging the receiving
of the voter’s response.
In case of any delays like network traffic, the client party should be notified. This Proposal
allows a voter to cast his vote in a simple and convenient way without the limit of time and
location, thereby increasing the voting rate, and also ensuring confidentiality and anonymity.
Keywords - Voting, web terminal (mobile phone), confidentiality, anonymity.
14. Feasibility Study
This is the measure of how beneficial or practical the development of an information system will
be to an organization. It is aimed at establishing whether it is worthwhile developing the new
system. This area introduces the system in terms of research into why it is more viable than the
existing system. Three main areas of feasibility study are identified: Operational Feasibility,
Technical Feasibility, Economical Feasibility and Schedule Feasibility. The following study was
carried out to establish whether the system development will carry on to the next stage:
a) Operational Feasibility
This is the measure of how well the solution of problems will work in the organization. It seeks
to answer the question: Is the problem worth solving? It is also a measure of how people feel
about the system project.
The system will save time for both voters and voting administrators. By use of their mobile
phones, voters will cast their votes. The voting exercise of voting can be done without
necessarily lining up in a polling station. This saves both time and cost.
b) Technical Feasibility
This is the measure of the practicality of a specific technical solution and the availability of
technical resources and expertise.
These recent advances in wireless and mobile communications have led to faster connection
speeds (currently at 384 kbps in 3G+), larger device screen size, and multiple modes of input and
new applications. These applications consist of software that runs on a mobile device and
performs tasks for the user of the mobile phone. Also known as downloadable, mobile
applications are common on most phones, including inexpensive, entry-level models. Their wide
use is due to the many functions they perform, including providing user interfaces for basic
telephony and messaging services as well as for advanced services such as games and videos. As
a result, there has been some serious interest in mobile applications and some progress has been
made in applications, framework, networking requirements, and business models.
14
15. 15
c) Economic Feasibility
This is a measure of the cost effectiveness of a project or solution. It takes into account costs and
benefits. Thus it is often called Cost-Benefit Analysis.
A lot of paperwork involved in the current manual system which is costly and the voter
travelling costs.
Voters spend unproductive hours (2-3 hours on average) queuing to vote.
d) Schedule Feasibility
Schedule feasibility is a measure of how reasonable the project timetable is. It seeks to answer
the following question: ‘Given our technical expertise, are the project deadlines reasonable?’
Each phase of the system development should be done within a specific time frame to avoid
delays in the implementation and testing of the final product.
16. Requirement Specification
The process of requirements specification for a software product is very crucial since it plays a
great role towards the acceptability and the effectiveness of the developed software.
Requirements engineering is composed of:
• Requirements elicitation.
• Requirements analysis and negotiation.
• Requirements specification.
• System modeling.
• Requirements validation.
• Requirements management.
The study of the software product’s characteristics is very important since:
The relative importance of these characteristics depends on the product and the
environment in which it is to be used. In some cases, some attributes may dominate. The
deep study of the intended product exposes the key attributes of the system since this may
vary with regard to the system and its environment of use.
Costs tend to rise exponentially if very high levels of any one attribute are required. It is
therefore important to consider the feasibility of the system which is implied by the
ability of the stakeholders to facilitate the realization of such attributes.
Requirements engineering and analysis is however a very difficult task especially for large
projects. This is contributed by the fact that most users are not completely and clearly aware of
what they want in the system and this can be coupled with the volatility of the requirements. The
scope of the system may also be misunderstood that may lead to assumption of key components
of the system that would later call for reengineering the system which is costly in terms of
financial resources, labor and time.
The challenges encountered in requirements engineering inspired Somerville and Sawyer to
suggest a set of detailed guidelines for requirements elicitation. This includes:
• Assessing the business and technical feasibility for the proposed system.
16
17. • Identify the people who will help specify requirements and understand their organizational
bias.
• Define the technical environment into which the system or product will be placed.
• Identify the constraints that limit the functionality or performance of the system or product to
be built.
•A list of one or more requirements elicitation methods.
• Solicit participation from all stakeholders.
• Identify ambiguous requirements as candidates for prototyping.
• Create usage scenarios to help customers/users better identify key requirements.
The purpose of the proposed application is to allow users (votes) to vote using their mobile
phones i.e. the aim of this project is to develop a secure voting system with which users can
Participate using their mobile phone.
Overview of System Requirements
Description of Information
The information required for the system includes:
The voter details – All the necessary information about the voter i.e. voter name, ID
number, registered SIMs, voter Security password and voting place identity information
e.g. county code, constituency code, ward code and polling station code.
The candidate details – All the necessary information about the candidate who is also a
voter i.e. ID number, political party, candidate photo, post vying.
Voting day details- voter details, candidates of choice, time casted.
17
Users of the Information
For the voting process the voter needs to identity is required i.e. ID number, voter
Security password.
Voter’s choice candidates are necessary for the voting process.
18. User Objectives
The following are some of the objectives that the voters would like to see from the system:
Convenient vote casting through the mobile phone.
Secure voting system.
User Access Restrictions
Administrator will access the details of the voters who have registered to vote via the phone.
Functional Requirements
This refers to the necessary tasks, action or activities that the system must accomplish, or enable
the user to do. The Online phone voting System is a secure mobile phone voting system with
which users can participate using their mobile phone.
The functional requirements of the system describe the functionality or services that the system
is expected to provide. In this case:
The system (mobile phone application- m-vote) will allow users to vote via their mobile
18
phones
Send a confirmation message to the voter that the voting process was successful e.g. time
when vote was cast.
The system shall provide appropriate error messages and users shall be accorded
sufficient help on how to carry on tasks e.g. In case of any delays like network traffic, the
voter should be notified.
Authentication -The system should identify each authorized voters every time they use
the system using a Student ID number.
The system shall impose a successful voter determination strategy in order to determine a
successful voter in order to avoid multi voting.
Make vote counting convenient.
19. Non-Functional Requirements
A non-functional requirement is a requirement that specifies criteria that can be used to judge the
operation of a system, rather than specific behaviors. The plan for implementing non-functional
requirements is detailed in the system architecture. Non-functional requirements define how a
system is supposed to be. Outlined below are some of the expectations of the system when
implemented:
19
a) Reliability
The Online voting system (e-vote) shall be robust enough to have a high degree of fault
tolerance. For example, if there is an invalid entry, the system should not crash and shall
identify the invalid input and produce a suitable error message.
The Online voting system shall be able to recover from hardware failures, power
The Online voting system shall impose a successful voter determination strategy in order
to determine a successful voter in order to avoid multi voting.
The Online voting system shall be available during the voting hours of the voting day.
Failures and other natural catastrophes should rollback the databases to their most recent
valid state.
b) Security
The system should implement strategies to counter hacking and access by unauthorized persons. The
application needs to be secure enough and should enable users to access it depending on the level of
the user. e.g. An administrator will be register voters, a authorized voter will only be allowed to vote.
The election system must be sufficiently robust to withstand a variety of fraudulent behaviors
and must be sufficiently transparent and comprehensible that voters and candidates can
accept the results of an election.
c) Performance
Response time of e-vote should be less than 5 seconds most of the time. Response time
refers to the time that the user should wait for before getting a response from the system
after querying it.
E-vote shall show no visible deterioration.
20. 20
d) Integrity
Only the system administrator has the right to register voters. The system should be
physically and logically secure to protect the databases. The administrators need to be
authenticated before having access to the system
e) Scalability:
The system should be able to expand to meet future needs of the organization and still be
able to serve the purpose for which it was build.
f) Usability
Users should be able to understand the menu and options provided by the system.
The system shall provide an easy-to-use interface so that the users do not strain to interact
with the system.
Any notification or error messages generated by the system shall be clear, polite and free
of jargon.
The interface should be intuitive and easily navigable.
g) Availability and accessibility
The system should be up and running whenever needed.
h) Inte roperability
The system should be able to work with other existing systems. It should ensure backward and
forward compatibility.
21. CHAPTER FOUR: DATA COLLECTION METHODS
These are the methods that were used to elicit requirements from the stakeholders of the system.
21
These stakeholders included:
Students i.e. voters
The candidates
JKEC (Jomo Kenyatta Electoral Commission)
The following is a brief description of the tools used to collect data from the various stakeholders
in order to establish requirements:
Questionnaires
A questionnaire is a method to collect data from the target users in a specific knowledge
domain. According to Peerce et al. Questionnaire is a well known technique to collect
demographic data and users’ opinions. The design of a questionnaire is important because it
addresses the research questions and hypothesis on which data is to be collected. The questions
can be closed or open ended.
The initial part in a questionnaire is mostly concern with demographical and experiential
information. This information could be used to find out the users’ experience with the current
system. Some of the major areas covered by the questionnaires were:
Shortcomings associated with the current mode of voting.
Views on online voting.
The proposed system.
Characteristics of a good output with regard to the system.
The questionnaires were administered to the students as well as the electoral commission. Fifty
(50) respondents were polled.
22. 22
Interviews
Interviews are used to gain more insight into the user requirements. They involve having face to
face conversations with various stakeholders and getting to get more information. One advantage
of using interviews was that a participant's unique point of view can be explored in detail and
any point of misunderstanding was clarified.
These were administered on all the stakeholders. They interviews were open ended and semi-structured.
These were administered on all the stakeholders. They were mostly open-ended and
semi-structured to allow the users provide as much information as possible without feeling
pressured. One advantage of using interviews that a participant's unique point of view can be
explored in detail.
Observation
This involved observing the various stakeholders and their various roles they perform in the
process of voting. It was important in getting to know the problems that the clients mostly go
through in the process of voting. The main focus was on the students because the intended
software solution is aimed at making the process of voting more efficient and convenient for
them.
Documentation
Studying documentation involved studying the companies’ documented procedures for
transacting business. It involved studying the documents that have to be filled in, their contents
and the approval that is required to make a vote legally binding. It also involved getting to know
from JKEC what the necessary steps are in order for one to be eligible to vote and also eligible to
vie for a position.
Through the documentation, I was able to see what inputs were required for the process of voting
and the corresponding outputs.
23. CHAPTER FIVE: SYSTEM DESIGN
23
Data Flow diagram
Figure 1: Data Flow Diagram
Voting Process
Login
Registration
1. Chairperson
2. Vice-Chairperson
3. Secretary General
4. Finance Secretary
. . . . . . . . . . . . . . . . . .
Vote Tallying
RESULTS
Has voted?
YES
NO
STUDENT
VOTER
Not Registered
Registered
24. 24
Three Tier Architecture
Figure 2: Three Tier Architecture
Description of the Three Tier Architecture
Presentation Tier
This layer presents data to the user and optionally permits data manipulation and data entry.
Web-based applications now often contain most of the data manipulation features. This is
accomplished through use of Dynamic HTML and client-side data sources and data cursors.
Logic Tier
Also referred to as the business logic tier, the middle tier. It controls an application’s
functionality by performing detailed processing. In this system tallying and checking whether
one has voted are processed at this level and the business functionalities are achieved at this
point.
25. 25
Data Tier
This tier consists of database servers. This is where the project details are stored and they are
retrieved on request.
26. CHAPTER SIX: SYSTEM INTERFACE AND DESIGN
Most of the design is done on HTML 5 and jQuery libraries. Reason for choosing this was
because its easy and flexible to work with. HTML 5 being one of the latest technologies in web
programming provides more functionality than the previous.
Functional breakdown of the system by design
26
Login Page:
For anyone who is registered in the system, they provide the login details i.e Student Id no. , password
and choose their voter type (e.g Voter or Candidate).
The system verifies the credentials and logs into the system. If any of the log in details is wrong, an error
message is displayed.
Figure 3: Registering as a Voter
Registration:
For any student who is not registered as a voter/candidate, they register on this page. After registration the
persons are verified on whether they are students by the admin.
The registration link can be accessed at the login page:
27. 27
Figure 4: Registering as a Voter
The registration page is active for a whole month before the elections, so that candidates and voters can
register and be verified. A week before elections the registration page cannot be accessed.
One can register as a voter or as a candidate:
Figure 5: Registering as a Voter
Figure 6: Registering as a Voter
28. 28
Voting:
On successful log in, one can now do the voting.
The page is tabbed depending on the number of candidates to be voted for.
On this system there are 4 candidates to be voted for: Chairman, Vice Chairman, Entertainment Secretary
and Treasurer.
Figure 7: Voting For Chairperson
29. 29
Figure 8: Voting For Vice Chairperson
Figure 9 :Voting for Treasurer
Figure 10: Voting for Entertainment Secretary
30. CHAPTER SEVEN: SYSTEM DEVELOPMENT
In the system analysis and design OOP (objects Oriented Programming) is used. The language
that is majorly in use on the server side is the PHP scripting language.
Properties of programming languages and database used
PHP Programming Language
PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose
scripting language that is especially suited for web development and can be embedded
30
into HTML.
There are three main areas where PHP scripts are used.
Server-side scripting. This is the most traditional and main target field for PHP. You need
three things to make this work. The PHP parser (CGI or server module), a web server and
a web browser. You need to run the web server, with a connected PHP installation. You
can access the PHP program output with a web browser, viewing the PHP page through
the server.
Command line scripting. You can make a PHP script to run it without any server or
browser. You only need the PHP parser to use it this way. This type of usage is ideal for
scripts regularly executed using cron (on *nix or Linux) or Task Scheduler (on
Windows).
Writing desktop applications. PHP is probably not the very best language to create a
desktop application with a graphical user interface, but if you know PHP very well, and
would like to use some advanced PHP features in your client-side applications you can
also use PHP-GTK to write such programs.
PHP can be used on all major operating systems, including Linux, many Unix variants (including
HP-UX, Solaris and OpenBSD), Microsoft Windows, Mac OS X, RISC OS, and probably others.
PHP has also support for most of the web servers today. This includes Apache, IIS, and many
others. And this includes any web server that can utilize the FastCGI PHP binary, like lighttpd
and nginx. PHP works as either a module, or as a CGI processor.
31. 31
MYSQL Database
MySQL runs on more than 20 platforms including Linux, Windows, Mac OS, Solaris, IBM AIX,
giving you the kind of flexibility that puts you in control.
The MySQL database has become the world's most popular open source database because of its
high performance, high reliability and ease of use. It is also the database of choice for a new
generation of applications built on the LAMP stack (Linux, Apache, MySQL, PHP / Perl /
Python.) Many of the world's largest and fastest-growing organizations including Facebook,
Google, Adobe, Alcatel Lucent and Zappos rely on MySQL to save time and money powering
their high-volume Web sites, business-critical systems and packaged software.
Reason for use
Flexible
Open source
Panel to easily navigate in phpmyadmin
XAMPP 1.7.2
XAMPP is a full- featured AMPP (Apache MySQL, PHP, Perl) package that is one of the few
non-commercials AMPP middleware stacks available on Linux. With its tight integration,
XAMPP makes it possible to run anything from a personal home page to a full- featured
production site (though only for development purposes; XAMPP is not meant to be used on a
production server due to security issues).
XAMPP really shines in the following areas:
It is easy to install and set up.
It contains a number of useful packages that make it easy to do things like generate traffic
reports and accelerate PHP content.
It has been thoroughly tested on the SUSE, Red Hat, Mandrake, and Debian Linux
distributions, as well as on Windows® and Solaris.
32. 32
XAMPP has various packages as stated below:
Basic packages
Basic packages include system, programming, and server software:
Apache, the famous Web server
MySQL, an excellent, free, open source database
PHP, the programming language
Perl, the programming language
ProFTPD, an FTP server
OpenSSL, for secure sockets layer support
Graphics packages
XAMPP includes the following graphics-related packages:
GD, the "Graphics Draw" library
libpng, the official PNG reference library
libjpeg, the official JPEG reference library
ncurses, the character graphics library
Database packages
And what would an integrated stack be without some database packages such as:
gdbm, the GNU implementation of the standard UNIX dbm library
SQLite, an extremely small, zero-configuration SQL database engine
FreeTDS, a database library that gives UNIX and Linux programs the ability to talk to
Microsoft SQL and Sybase databases
XML packages
For XML development, XAMPP includes the following:
33. 33
expat, an XML parser library
Salbotron, an XML toolkit
libxml, an XML C parser and toolkit for GNOME
PHP packages
For PHP development, XAMPP includes the following:
PEAR, the PHP library
A pdf class that generates dynamic PDF documents with PHP
TURCK MMCache, a PHP performance enhancer
Data Structures and Algorithms used
Php code has very few data structures in the system. Although object oriented programing was
used to model the Candidate class:
<?php
include_once('php/dbconnector.php');
class Acandidate{
public $firstname=null;
public $secondname=null;
public $surname=null;
public $moto=null;
public $photo=null;
public $password=null;
public $memberType=null;
public $isVoted=null;
public $studentId=null;
34. 34
public $position=null;
public function instantiate($id)
{
$sql="select * from voters where id='".trim($id)."'";
$result=mysql_query($sql);
if($row=mysql_fetch_object($result))
{
$this->firstname=$row->FirstName;
$this->secondname=$row->SecondName;
$this->surname=$row->SurName;
$this->moto=$row->Moto;
$this->photo=$row->Photo;
$this->password=$row->password;
$this->memberType=$row->memberType;
$this->hasVoted=$row->hasVoted;
}
}
public function update($id)
35. 35
{
$sql="update voters set firstname='".$this->firstname."',
secondname='".$this->secondname."',
surname='".$this->surname."',
moto='".$this->moto."',
photo='".$this->photo."'
password='".$this->password."' where
id='".$id."'";
}
public function vInsert()
{
$sql="insert into
voters(firstname,secondname,surname,id,password,memberType) values('".trim($this-
>firstname)."','".trim($this->secondname)."','".trim($this->surname)."','".trim($this-
>studentId)."','".trim($this->password)."','".trim($this->memberType)."')";
//$state="1 Voter Added";
$query=mysql_query($sql);
if(!$query)
{
echo "Pole";
die('Error: '.mysql_error());
36. 36
}
else
//echo $state;
//alert("You have been successfully Registered");
header('location:../project/index.php');
}
public function cInsert()
{$sql="insert into
voters(firstname,secondname,surname,id,Position,moto,Photo,password,memberType)
values('".trim($this->firstname)."','".trim($this->secondname)."','".trim($this-
>surname)."','".trim($this->studentId)."','".trim($this->position)."','".trim($this-
>moto)."','".trim($this->photo)."','".trim($this->password)."','".trim($this->memberType)."')";
//$state="1 Candidate Added";
$query=mysql_query($sql);
if(!$query)
{
echo "Pole ";
die('Error: '.mysql_error());
}
else
//echo $state;
//alert("You have been successfully Registered");
37. header('location:../project/index.php');
37
}
public function checkId($id)
{
$sql="select * from voters where id='".$id."'";
$result=mysql_query($sql);
if(mysql_num_rows($result)>0)
{
echo 'Student ID already in use!';
}
Else
echo'Student ID available!';
}
}
?>
38. CHAPTER EIGHT: IMPLEMENTATION AND TESTING
This is the second last stage in SDLC (Software Development Life cycle) the installation of the
software is done.
Installation Guide
The system runs on a server and does not have an .exe or Executable file. Below is the
installation process of the system and how it is setup:
38
Install the XAMPP server
Step One
XAMPP installs everything you need to run PHP pages and a MySQL database on your local
machine.
1. Double-click the Installer (.exe) file you downloaded from the XAMPP website.
2. The XAMPP installer asks you to specify the directory to install XAMPP. It is
recommended you leave the default setting specified.
3. Click Install.
Figure 11: Installation snap1
39. NOTE: The Installation process can take up to a few minutes. Once complete, a
Command Prompt window will display for you to configure a few additional settings.
The Command Prompt dialog will ask you some questions that you can answer by
choosing 'y' or 'n' on your keyboard.
4. You should answer each question using the default answer provided. The following
outlines each question, and the answer you should give.
o Should I add shortcuts to the startmenu/desktop?
Enter 'y' then Enter to add these shortcuts, otherwise hit the 'n' key on your
39
keyboard, then hit Enter.
o Should I locate the XAMPP paths correctly? Should I proceed?
Enter 'y' and then the Enter key.
o Should I make a portable XAMPP without drive letters?
Enter 'n' and then the Enter key.
o XAMPP is ready to use.
Hit the Enter key.
o I have set the timezone to...
Hit the Enter key.
5. Once you have answered all these questions, the following message will display.
40. 40
Figure 12: Installation snap2
6. First, enter 5 to enable IPv4 only.
7. Lastly, enter 1 and hit Enter to open the XAMPP Control Panel.
Step 2: Start your Server
Once installed, you can use the XAMPP Control Panel to start your testing server.
1. Click Start next to both Apache and MySQL to start the services.
Starting these services can take a few seconds. When it is complete, ‘Running’ will display beside
each option.
41. 41
Figure 13: Installation snap3
To make your testing server start automatically when your computer starts, you can check
the Svc checkbox beside both options.
NOTE: If the XAMPP Control Panel is not already running, go to C:xamppcontrol.exe to open
the panel.
Step 3: A little cleanup
With your testing server now installed and running, there are a few final steps you should take to
make sure everything is configured to work perfectly.
1. Open a web browser such as Firefox or Internet Explorer.
42. 2. In the address bar,enter http://localhost; You should see a XAMPP splash screen with
42
language options
3. Choose your preferred language; You should now see a confirmation window informing
you that ‘You have successfully installed XAMPP on your system’. This interface allows
you to configure certain XAMPP settings.
Security Settings
Best practices encourage you to always have a password specified for your MySQL
database, and we think you should too.
4. From the side navigation, choose Security.
Figure 14: Installation snap4
5. Click the link shown in the graphic below.
Figure 15: Installation snap5
43. The next page displays the login credentials for your MySQL database. The username
(SuperUser), 'root' is created for you automatically and is the username you can use for
accessing your MySQL database or creating a database connection.
6. In the new password field, enter a password for accessing your database.
7. Enter the password again in the second text field.
8. Choose Password Changing to confirm your new password.
You’ve now determined the username and password that you will use every time you
need to access your database, or create a database connection in Dreamweaver.
Each time you change your password, you will need to restart your testing server for the
change to take effect. Access the Control Panel by double-clicking the XAMPP icon in
your taskbar. Choose Stop and then Start beside the MySQL option to restart the
database.
43
Test the PHP Installation
Lastly, you should test your PHP Installation to make sure everything is set up for you to
load PHP pages on your local computer.
9. Navigate back to the http://localhost page you were at before.
10. Click the phpinfo() option from the side navigation.
44. 44
Figure 16: Installation snap6
If you see a PHP page similar to this, you have completed setting up your PHP/MySQL
testing server.
Setting up the System
1 Copy all the files of the System from Evote/System Files to where xampp folder is
/xampp/htdocs/..
2 Navigate to php folder
3 Select Dbcon.php file and open
4 Change the username, Password of the database
5 Save the file
6 Navigate to data link
7 Change the username and the password of the variable as per your database
Setting up the Database
1. Open phpmyadmin by going to the URL http://localhost/phpmyadmin
2. Create a new database title evote
3. Import the database file(voters.sql) from the database folder in the Evote folder
Accessing the System
Open web browser (Mozilla, I.E)
Type URL http://localhost/eVote/
Risk associated with system
Uses CSS (Cascading Style Sheets) so may not be compatible with all Browsers.
48. APPENDIX B: REFERENCES
48
B.1 Webliograpy
W3Schools www.w3schools.com
B.2 Bibliography
Janet Valade, PHP and MySql for Dummies, 3rd Edition
Earle Castledine and Craig Sharkie, First Edition February 2010, JQuery from
Novice to Ninja
Rusell J.T Dyer ,MYSQL In A Nutshell (Page 3,14 ,40), 2nd Edition