0% found this document useful (0 votes)
244 views22 pages

Polling Application PDF

This document provides an acknowledgement and certificate for a 6-week internship at Coding Blocks as a Web Developer from May to June 2019. The author expresses gratitude to their mentor and the staff at Coding Blocks for supporting and guiding them during their training, which helped make the internship a valuable learning experience. The author also thanks their college for allowing them to undertake the internship opportunity.

Uploaded by

Urvashi Gupta
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
244 views22 pages

Polling Application PDF

This document provides an acknowledgement and certificate for a 6-week internship at Coding Blocks as a Web Developer from May to June 2019. The author expresses gratitude to their mentor and the staff at Coding Blocks for supporting and guiding them during their training, which helped make the internship a valuable learning experience. The author also thanks their college for allowing them to undertake the internship opportunity.

Uploaded by

Urvashi Gupta
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

CERTIFICATE

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.1 About the organisation


Coding Blocks was founded in 2014 with a mission to create skilled Software Engineers for
our country and the world. Their motto is to bridge the gap between the quality of skills
demanded by industry and the quality of skills imparted by conventional institutes. At
Coding Blocks, we strive to increase student interest by providing hands on practical training
on every concept taught in the classroom. Coding Blocks offers courses comprise the most
relevant subjects and technologies that are being used in the industry these days. It is
having the most comprehensive topic coverage, and of constantly updating with the rapidly
changing times. In addition to theoretical teaching, They believe in hands-on experience to
all our students during classroom teaching, to make them suitable for industries with the
required skills.

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.

1.3 About the project


The proposed project is a smart survey and polling system that provides an easy way of
maintaining the whole decision making and survey system in an easy manner. It overcomes
the problems of unnecessary time consuming tasks and paper work as done in traditional
polling systems. Hence this project offers a web based system where admin can view
various instances and control them. If the event is available then the allowed members who
can participate in that specific polling or survey can give their decision in that specific time
given by the creator of the poll. Users can create & maintain their profile. A user can view
the polling results without logging into the system but cannot vote. System displays the
cumulative results with every vote in. Admin can update or delete events anytime. There
are many other features also available.

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.5 Project aims & objectives


• Automation polling and survey system
• Online polling
• A database table to check the authenticity of the participants
• Simple database table to keep record of surveys and polls
• Providing some extra smooth facilities in the system which are not available easily
manually.
• Reducing paper works as well as human efforts.

1.6 Product perspective


Online Portal for Polling and Survey System is an application which refers to polling or
survey systems which are generally small or medium in size. It is used to manage the
decision making procedures using a computerized system where the management can
record various issues of polling and survey like data representation of votes, voter details,
vote count etc. User profile modules are also included in this system which would keep track
of the members using the system and also a detailed description about the event. With this
computerized system there will be no illegal member will be able to participate which
generally happens when a non-computerized system is used. In addition, admin, the user is
able to generate different kinds of reports like lists of members registered, list of events,
issue of results, creating events etc. All these modules are able to help admin to manage the
polling or survey with more convenience and in a more efficient way as compared to
systems which are not computerized.

1.7 Problem Statement


To design & develop an online portal for survey and polling with strong authentication.

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.3 Definition & Abbreviations :


OPSP : Online Portal for Survey & Polling

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.

2.1.2 Overall Description :


2.1.2.1 Product perspective :
▪ Allow users to set up their account and update profile.
▪ Enables user to create their own customize poll with customize length
▪ Allows the user to vote acc. To their ease being anonymous.

2.1.2.2 User Interfaces :


o Login or signup page
o Homepage showing all the current polls and past polls with declared
results
o Create poll page to create customize polls
o Profile page showing user details, his created polls & his votes.

8
2.1.2.3 Software Interfaces :
Frontend : ReactJS, Html, CSS

Backend : Spring Boot with JPA, Spring JDBC, MySQL workbench

2.1.2.4 Hardware Interfaces :


Processor – Intel or AMD
Hardisk – 1GB
RAM – 8 GB

2.1.3 Functional Requirements :


✔ Provide search poll facility
✔ Display current going on poll on top
✔ Display results of past polls
✔ Provide profile view and edit access
✔ Allow multiple poll creation & single vote to every user for each poll
✔ Keep track of own polls and votes.

2.1.4 Non-Functional Requirements :


2.1.4.1 Performance : ​Performance will depend on hardware components of
client. The product will take initial load time depending on internet connection
strength.

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

Fig 3.1 :​ ​DFD - level 0 (​context diagram)

11
Fig 3.2 : DFD - level 1 (Decomposed ​context diagram)

3.2 Use-Case Diagram

Fig 3.3 :​ Online Survey & Polling System

Actor​ specifies a role played by a user or any other

system that interacts with the subject.

12
Use case​ is a list of steps, typically defining interactions

between an actor and a system, to achieve a goal.

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

13
● Table 3.3.5 : Details of choices created

● Table 3.3.6 : Details of votes (w.r.t. timing, poll, choice)

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.

4.2 Tools Used:


● Editor Used: Intellij Idea Ultimate Edition
● Operating System: Windows 10

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

4.3 Hardware Used:


● Processor: Intel core i7
● RAM: 8GB
● Solid State Drive: 512GB

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

Fig 6.2 : Login page

Fig 6.3 : View page

19
Fig 6.4 : Profile page

Fig 6.5 : Create poll page

20
Fig 6.6 : Vote response page

Chapter 7 – Conclusion & Future Scope


7.1 CONCLUSION
Now a days a good Online Portal for Survey and Polling System is a gateway for easy
management and its working. People get influenced by look and easy to access features. So
it is imperative that an organisation, be it a small scale, medium scale or a large scale will
always look for a good computerised survey taking system. Even an individual would also
like to take his/her decisions by getting some genuine data through polls. With technologies
on the go touching people’s lives anywhere and everywhere, a good Online Portal for Survey
and Polling system acts as a bonus to the modern world.

7.2 FUTURE SCOPE


● The development process of this system can be easily followed by adding new
features to the site as and when the end user requires. This might also lead to a
possible enhancement of flexibility between the modules.

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

You might also like