Polling Application PDF
Polling Application PDF
1
ACKNOWLEDGEMENT
A project work owes its success from commencement to completion to the people in love
with project at various stages. I would like to express my gratitude to all those who helped
in various stages. First I would like to express my sincere gratitude indebtedness to Ms.
Sunita Kumari (HOD, Department of Computer Science) of G.B. Pant Govt. Engineering
College, New Delhi, for allowing me to undergo the internship as Web Developer for 6
weeks from May to June 2019 at Coding Blocks, Noida. I am grateful to my mentor Mr. Anuj
Garg (GSoC mentor and org-admin with JBoss Community) who mentored me throughout
my internship period. Without their enlightening help and guidance it was difficult for me to
develop the projects. Last but not least, I pay my sincere thanks and gratitude to all the staff
members of Coding Blocks for their support and for making my training valuable and fruitful.
Submitted By:
Ekta Mishra
00720902717
2
TABLE OF CONTENT
Pg No.
Certificate i
Acknowledgement ii
Table of content 1
List of figures & tables 2
Chapter 1 – Introduction 3-5
1.1 About the Organisation 3
1.2 Abstract 3
1.3 About the project 3
1.4 Purpose 4
1.5 Project Aim & Objective 4
1.6 Product Perspective 4
1.7 Problem Statement 4
1.8 Motivation 4
1.9 Chapter description 5
Chapter 2 - Requirement Analysis 6-8
2.1 Software Requirement & Analysis 6 -7
2.2 Feasibility Study 8
Chapter 3 – Design 9 - 12
3.1 Data flow diagram 9
3.2 Use Case diagram 10
3.3 Database Tables 11 - 12
Chapter 4 - Technologies and Tools Used 13 - 14
4.1 Technologies Used 13 - 14
4.2 Tools Used 14
Chapter 5 – Implementation 15
5.1 Working Principle 15
5.2 Features 15
Chapter 6 – Result 16 - 18
6.1 Product Snapshots
Chapter 7 – Future Scope & Conclusion 19
References 20
3
LIST OF FIGURES
● Fig 3.1 : DFD level 0
● Fig 3.2 : DFD level 1
● Fig 3.3 : Use Case Diagram
● Fig 6.1 : Sign Up page
● Fig 6.2 : Login page
● Fig 6.3 : View page
● Fig 6.4 : Create poll page
● Fig 6.5 : Profile View page
● Fig 6.6 : Vote response page
LIST OF TABLES
● Table 3.3.1 : Details of roles assigned to users
● Table 3.3.2 : Details of all existing roles
● Table 3.3.3 : Details of all the existing users
● Table 3.3.4 : Details regarding polls
● Table 3.3.5 : Details of choices created
● Table 3.3.6 : Details of votes (w.r.t. timing, poll, choice)
4
Chapter 1 – INTRODUCTION
1.2 Abstract
Online Portal for Survey and Polling System is a project which aims in developing a
computerized system to maintain all the decision making processes. This project has many
features which are generally not available in normal systems like facility of admin login
through which the admin can monitor the whole system. It has also a facility where admin
after logging into the account can monitor the whole system and also the users can request
the admin to create a new polling event if needed by filling create poll request section.
System displays the polling results such as winner declaration as well as percentages of other
options results. Overall this project of ours is being developed to help in decision making and
also reduces the human efforts. It provides clear and accurate results.
5
1.4 Purpose
The purpose of this document is to describe the functionality and specifications of the
design of application using Spring Boot framework. The expected audience of this document
are the developers and users of the application. This will allow users to access the polling
and survey system from anywhere in this world.
1.8 Motivation
The idea & motivation to develop this project is obtained from college elections where a lot
of time especially for students gets wasted in elections and polling. If such a system will be
build then it would be easy for college management to conduct elections without any
disturbances and hassle
6
1.9 Chapter Description
Chapter 2 - Requirement Analysis consists of SRS (Software requirement analysis) that gives
the detailed description of the requirements expected by the user from the software. It also
consists of feasibility study of the product on various parameters.
Chapter 3 - Design comprises the various diagrams like DFD, Use-Case Diagram that will
help the developer in implementation phase. It also has database tables required in the
system which makes it easy to understand the MVC model of the system.
Chapter 4 – Tools & Technologies gives the details of the tools, technologies & hardware
used to design & implement the current system.
Chapter 5 – Implementation provides description about the working principle, connectivity,
features & advantages of this system.
Chapter 6 – Results is basically depicting the outcome of the project in form of product
snapshots of various processes & pages of the system.
Chapter 7 – Conclusion & Future Scope specifies the end conclusion of the project & future
promises of the project (features that aren’t part of the current system but may be
implemented in future).
7
Chapter 2 – REQUIREMENT ANALYSIS
2.1 Software requirement specifications
2.1.1 Introduction
2.1.1.1 Purpose : This document is meant to demarcate the features of online
portal for polling and survey, so as to serve as a guide to developers on one hand
and a software validation document for the perspective client on other. It will act as
a single gateway to get the idea of situations having dilemma and to express your
opinion over a topic.
2.1.1.2 Scope :
o Hassle free polling with accurate results
o Reduce paperwork and ease of tracking the results
o No miss-communication between voters and poll-creators
2.1.1.4 Overview : This system provides an easy interface to customers for polling
and get survey results without actually going through the paperwork and disclosing
their identity.
8
2.1.2.3 Software Interfaces :
Frontend : ReactJS, Html, CSS
2.1.4.1 Security : System will use secure sockets in all login/ signup requests that
includes confidential user information. System shall not leave any cookies containing
user’s confidential information.
9
2.1 FEASIBILITY STUDY
After identifying the scope of the project, the feasibility study is needed to be carried out. It
is basically keeping the following points in mind.
Building the software for meeting the scope: This software has met the scope. As there is
no data involved in the system, processing on the file, and the behaviour of this project is
already identified and bundled in quantitative manner. The processing of this software is
very simple as it has been designed using spring boot and it has been well divided into
several functions according to the need.
Technically feasible: This software is very much technically feasible. This software is very
much concerned with specifying equipment and the software will successfully satisfy almost
all the user requirements. The technical need for this system may vary considerably but
might include:
a. The facility to produce output in a given time.
b. Response time under certain conditions.
c. Ability to process a file at a particular speed.
Therefore, the basic input/output of all files is identified. So, the project can easily be build
up and it will also be technically feasible.
State of Art: The project is very much within the state of the art since the project is
compatible to nearly every OS; it uses very modern and common technique. Beside it is very
much modern and user friendly. It also works as middleware i.e. only in between the user
and the file. So, it is completely a state of art project.
Financially Feasible: The project is very much financially feasible. The implementation and
development cost of this software under the reach of any college. Moreover, it requires
some training for the use. So, training cost can be neglected and the resources of this
software are very much available. It also reduces the labour and extra cost to be paid for
labour. So indeed, it is financially feasible.
Resources: As mentioned earlier that the resources are easily available and the cost of
training is almost negligible. Sometimes situations may arise when it may not be so easy. For
a person completely unaware of using a computer system could result in a training cost or
for a very small organization the purchase of a computer, instalment of the system and
other charges may lead to a difficult matter.
Touching User’s mind : The basic features of this software are simplicity, easily
understandable, easily applicable. If this type of software is a new experience for the user is
certainly going to be like it.
10
Chapter 3 - DESIGN
3.1 Data flow Diagram
11
Fig 3.2 : DFD - level 1 (Decomposed context diagram)
12
Use case is a list of steps, typically defining interactions
13
● Table 3.3.5 : Details of choices created
14
Chapter 4 - TOOLS & TECHNOLOGY USED
4.1 Technologies used:
● Languages: HTML 5, Bootstrap
● Framework : Spring boot, ReactJS
● RDBMS: MySQL Workbench
● Development Platform: Intellij Idea Ultimate Edition
Spring Boot : Spring Boot is an open source Java-based framework used to create a
micro Service. It is developed by Pivotal Team and is used to build stand-alone and
production ready spring applications. This chapter will give you an introduction to Spring
Boot and familiarizes you with its basic concepts.
Spring Boot provides a good platform for Java developers to develop a stand-alone and
production-grade spring application that you can just run. You can get started with minimum
configurations without the need for an entire Spring configuration setup.
We should choose Spring Boot because of the features and benefits it offers as given here
−
● It provides a flexible way to configure Java Beans, XML configurations, and Database
Transactions.
● It provides a powerful batch processing and manages REST endpoints.
● In Spring Boot, everything is auto configured; no manual configurations are needed.
● It offers annotation-based spring application
● Eases dependency management
● It includes Embedded Servlet Container
15
Handling dependency management is a difficult task for big projects. Spring Boot resolves
this problem by providing a set of dependencies for developers convenience.
For example, if you want to use Spring and JPA for database access, it is sufficient if you
include spring-boot-starter-data-jpa dependency in your project.
ReactJS : ReactJS is an open-source JavaScript library which is used for building user
interfaces specifically for single page applications. It’s used for handling view layer for web
and mobile apps. React also allows us to create reusable UI components. React was first
created by Jordan Walke, a software engineer working for Facebook. React first deployed on
Facebook’s newsfeed in 2011 and on Instagram.com in 2012.
React allows developers to create large web applications which can change data, without
reloading the page. The main purpose of React is to be fast, scalable, and simple. It works
only on user interfaces in application. This corresponds to view in the MVC template. It can
be used with a combination of other JavaScript libraries or frameworks, such as Angular JS
in MVC.
Features :
1. JSX : In React, instead of using regular JavaScript for templating, it uses JSX. JSX is
simple JavaScript which allows HTML quoting and uses these HTML tag syntax to
render subcomponents. HTML syntax is processed into JavaScript calls of React
Framework. We can also write in pure old JavaScript.
2. React Native : React has native libraries which were announced by Facebook in
2015, which provides the react architecture to native applications like IOS, Android
and UPD.
React-native is a mobile apps building framework using only Javascript. It uses the
same design as React, letting you utilize/include a rich mobile UI library/ declarative
components. It uses the same fundamental UI building blocks as regular iOS and
Android apps. The best part of using react-native is to allow/adopt components
written in Objective-C, Java, or Swift.
3. Single-Way data flow : In React, a set of immutable values are passed to the
components renderer as properties in its HTML tags. Component cannot directly
modify any properties but can pass a call back function with the help of which we can
do modifications. This complete process is known as “properties flow down; actions
flow up”.
4. Virtual Document Object Model : React creates an in-memory data structure cache which
computes the changes made and then updates the browser. This allows a special feature
which enables a programmer to code as if the whole page is rendered on each change
whereas react library only render components which actually change.
16
IntelliJ IDEA Community Edition : i s the open source version of IntelliJ IDEA, a premier
IDE (Integrated Development Environment) for Java, Groovy and other programming
languages such as Scala or Clojure.
The Community Edition includes:
● An Intelligent code editor that has all the smarts for understanding Java, XML and
Groovy code
● Refactoring, code inspections and intentions, super-fast navigation and search
● Testing frameworks integration: JUnit and Testing
● Build tools support: Ant and Maven
● Swing UI designer
Chapter 5 - IMPLEMENTATION
5.1 Working Principle
This project has been developed for the survey and polling systems. Admin gets login by
valid username and password. Admin can see the request send by the students or faculty.
Admin can also create events manually. Admin can view all the details and can allow verified
user to create event. Admin verifies the details of the users and generates the result. Only
logged in users get to create poll. System allows users to add as many options as they want.
It allows in maintaining profile such as username, password for authentication and name,
emailing ID for the user details. With every vote in it calculates the cumulative result and
displays the current scenario. Each poll has a time period specified by the creator. User can
vote only in that period and their after the poll expires.
5.2 Features
● Easy to read, understand and navigate.
● It is completely secure.
● It can be completely controlled by a single person, i.e. admin.
● This system is easily compatible with most browsers such as Google Chrome, Mozilla
Firefox, and Microsoft Edge etc.
● It is very interactive and saves a lot of time.
17
● Reduces paper works.
● Provides accurate results.
5.3 Advantages
➔ It saves management time in task of decision making.
➔ The system provides a graphical view and an interactive look.
➔ The whole system is controlled by the admin.
➔ It excludes the need of human efforts.
➔ The system generates online results of surveys and polling.
➔ Cost-effective.
Chapter 6 - RESULTS
6.1 Product Snapshots
18
Fig 6.1 : Sign up page
19
Fig 6.4 : Profile page
20
Fig 6.6 : Vote response page
21
● In the future we may add a member portal where members can give feedback about
an event.
● Some visualized features may be added which can be more interactive to the
members of the system.
● The system can be developed in such a way that its existing features will also be
provided after.
REFERENCES
Books:
● The complete reference Java: By Herbert Schildt
● Head First Java: By Kathy Sierra, Bert Bates
Websites:
● https://spring.io/
● https://www.baeldung.com/
● https://www.callicoder.com/
● https://www.youtube.com/
● https://www.w3schools.com/
22