SYNOPSIS
This project entitled “Mobile Based Ballot”
is designed for users, who are willing to vote by installing this
application.This application is hosted in a cloud server so that any user using
this app can access this application from anywhere and through any mobile
device. The application is provided with three modules such as Admin, User, and
Post. In the admin module, the admin can add
new users or modify the existing users. In the user module, the users
can login to the app by using OTP
verification. The users can choose the party to vote by using this app. Using
the post module, the users can register complaints against any party involved
in illegal activities. The public can also post the corruption details directly
to election commission, using the post module.
Introduction
Voting system is the
pillar of every democracy in which voters choose their leaders to show their
presence for the way that they will be supervised. Voting scheme have grown
from counting hands in previous days to system that include papers, punch card,
optical scan machine and mechanical lever i.e. to the electronic voting system.
This online voting
system is the time consuming process therefore maximum of urban population is
not able to vote because of their busy schedule. The fundamental idea behind
secure online voting system to conquer inability of the conventional voting
system as it suffers from various drawbacks such as it consumes huge volume of
paper work, time, there is no personal role of higher officers, damage of
electronic machines due to lack of attention. Secure online voting system is
the system through which any voter can vote from anywhere in country.
The main objective in this app to help the
oldage people who cannot stand in a long queue for more time for voting and
also for people who are always busy to save their time for voting.
For
PC:
Windows8.1 / Android Studio 2.3.3
/ Java 1.8 / PdaNet / Firebase
(Google
services 11.8.0)
Front end : Android Studio
Backend : Firebase
FIREBASE
Firebase is a backend platform for building Web, Android and
IOS applications. It offers real time database, different APIs, multiple authentication
types and hosting platform. This is an introductory tutorial, which covers the
basics of the Firebase platform and explains how to deal with its various
components and sub-components. Firebase is a mobile and web
application development platform developed by Firebase, Inc. in 2011,
then acquired by Google in 2014.
History
Firebase
evolved from Envolve, a prior startup founded by James Tamplin and Andrew Lee
in 2011. Envolve provided developers an API that enables the integration of
online chat functionality into their websites. After releasing the chat
service, Tamplin and Lee found that it was being used to pass application data
that weren't chat messages. Developers were using Envolve to sync application
data such as game state in real time across their users. Tamplin and Lee
decided to separate the chat system and the real-time architecture that powered
it. They founded Firebase as a separate company in April 2012.
Firebase Inc. raised seed funding in May 2012. The company further
raised Series A
funding in June 2013.In
October 2014, Firebase was acquired by Google.In October 2015, Google acquired
Divshot to merge it with the Firebase team. Since the acquisition, Firebase has
grown inside Google and expanded their services to become a unified platform
for mobile developers. Firebase now integrates with various other Google
services to offer broader products and scale for developers. In January 2017,
Google acquired Fabric and Crashlytics from Twitter to join those services to the Firebase
team.According to the report, Firebase would be launching Cloud Firestore, a
Document Database, in October 2017.
Services
Firebase Cloud Messaging
Formerly
known as Google Cloud Messaging (GCM), Firebase Cloud Messaging (FCM) is a cross-platform solution for
messages and notifications for Android, iOS, and web
applications, which currently can be used at no cost.
Firebase Auth
Firebase
Auth is a service that can authenticate users using only client-side code. It
supports social login
providers Facebook,
GitHub, Twitter and Google (and Google Play
Games). Additionally, it includes a user management system whereby
developers can enable user authentication with email and password login stored
with Firebase.
Realtime Database
Firebase
provides a realtime database and backend as a service. The service provides
application developers an API that allows application data to be synchronized
across clients and stored on Firebase's cloud.The company provides client
libraries that enable integration with Android, iOS, JavaScript, Java, Objective-C, swift and Node.jsapplications.The
database is also accessible through a REST API and bindings for several JavaScript frameworks such as AngularJS, React, Ember.js and Backbone.js.The
REST API uses the Server-Sent Events protocol, which is an API for creating
HTTP connections for receiving push notifications from a server. Developers
using the realtime database can secure their data by using the company's
server-side-enforced security rules.Cloud Firestore which is Firebase's next
generation of the Realtime Database was released for beta use.
Firebase Storage
Firebase
Storage provides secure file uploads and downloads for Firebase apps,
regardless of network quality. The developer can use it to store images, audio,
video, or other user-generated content. Firebase Storage is backed by Google
Cloud Storage.
Firebase Notifications
Firebase
Notifications is a service that enables targeted user notifications for mobile
app developers at no cost.
Firebase Dynamic Links
Firebase Dynamic
Links are smart URLs that dynamically change behavior to provide the best
experience across different platforms.
Firebase Advantages
·
It
is simple and user friendly. No need for complicated configuration.
·
The
data is real-time, which means that every change will automatically update
connected clients.
·
Firebase
offers simple control dashboard.
·
There
are a number of useful services to choose.
Firebase Limitations
- Firebase
free plan is limited to 50 Connections and 100 MB of storage.
Setting up a Firebase
Account
There are
two main steps to setting up Firebase in an Android project:
1. Create a free Firebase account
2.
Add Firebase to the project
You can add firebase to
your project manually,
Your
firebase assistant will open on the right side of the Android Studio. Here is a
screenshot of mine.
You can use firebase
assistant to see definition and sample codes of each firebase product. It will
also add the gradle dependencies for the product that you want to add to your
project.On this story, I’m going to add authentication to my project.When you
click on the product that you want to add, a link will appear. After clicking
on that link you will see a description of the product and step by step guide
for the addition.
Create and add a Firebase
Database to your Application
Step 1:Create an Firebase Account.
Step 2:Create a project in firebase console.
Step 3:Click Firebase for Android App and
follow the instruction.
Step 4:When prompted,enter the app’s package name.
Step5:Download the google-service JSON file.
Step 6:Then to include the google-service
plugin in your Gradle file.
Cloudinary
in Android
Cloudinary
provides support for uploading media directly from your mobile application to
your Cloudinary account, without going through your servers first. This method
allows for faster uploading and a better user experience. It also reduces load
on your servers and reduces the complexity of your applications.Advantage of upload presets for predefining upload parameters. For
details on all the available upload parameters, see the Upload Images and Upload Videos documentation and the Upload method of the Upload API Reference.
Create the Cloudinary
Account
Image
manipulation
The following Cloudinary URL and
corresponding Android code delivers the image below in an
https
delivery URL, including all of the
following transformations:
·
Thumbnail
crop to a size of 150x150 pixels using face detection gravity to automatically
determine the location for the crop
·
Rounded
corners with a 20 pixel radius
·
Sepia effect
·
Overlay
of the Cloudinary logo on the southeast corner (with a slight offset). The logo
is scaled down to a 50 pixel width, with increased brightness, and partial
transparency (opacity = 60%)
·
Rotated
by 10 degrees
·
Converted
to and delivered in PNG format (the originally uploaded image was a JPG)
PROJECT DESCRIPTION
Home Page
The home page,user view the displays the images that are
flipped automatically using the view flipper concept,voting time,voting date and how to vote my application the
demo video is available here. The Home page contains Navigation
Drawer.The Navigation Drawer contains the links to various pages, such as
Admin, User, Post.
Admin Module
First the admin log into the app.Further
the admin can manipulation this application.
Add Voters
The admin can adding
the new voters such as voter id,name,date of birth,aadhar id etc,..the data
will be stored in the firebase database using hashmap.
Add Candidates
The
admin can add the candidates containing name,constitution and image url
provided from cloudinary services and stored in firebase database.
Alert the Voters
When
the voting time starts now,the admin send the notification to the user by using
FCM services. Firebase Cloud Messaging (FCM) is a
cross-platform messaging solution that lets you reliably deliver messages at no
cost.
Create Firebase Cloud Messaging(FCM)
View Result
The admin can view the result page who won the
election.
User Module
The
user module, the users can login to the app
contains voter id,aadhar id,ward number. The user vote my
app,every user have uniquely identification for phone number by using OTP
verification.so,one time can be voted.
User Login
If
the user enters a valid username/Adhar_id/Voter_id and Ward_no combination they will be granted
access to vote on the app.
SMS Notification
After
login the user,to get the One Time Password(OTP) verification message to user’s
phone number.
Notification
Admin send notification(Voting time starts now) to the user.
Polling
The user can
choose the party and vote them.
Post Module
The users
can register complaints against any party involved in illegal activities.The
public can also post the corruption in this page.
CONCLUSION
Our proposal allow a voting to his/her voter
through internet and also through normal handsets, therefore voter does not
have to go to voting booths to vote they can vote from anywhere in India. To
make our system highly secured we also have enforced the method for verification.
Our system also provides high transparency of voters details at the time of
registration only i.e. when voter is registering to the system then his voter
Id and Aadhar number should match. The user validation process of our system is
enhanced by adding security key and one
time password.Consequently, the member of state or country can believe that
they alone can choose their leaders and this system allows them to vote from
anywhere.
No comments:
Post a Comment