Online Petition Management System Project
Online Petition Management System Project
MINI PROJECT
BIS586
Online Petition Management System
Submitted in partial fulfillment for the requirements for the Fifth semester
BACHELOR OF ENGINEERING
IN
INFORMATION SCIENCE AND ENGINEERING
For the Academic Year 2024 - 2025
Submitted by:
Mr. Byregowda B. K.
Assistant Professor, Department of ISE
CERTIFICATE
It is certified that the MINI PROJECT [BIS586] entitled "Online Petition Management
System" is carried out by Priyanshu Raj-1MV22IS080 ,Rohit Rathore-
1MV22IS090 ,Shrinivas-1MV22IS101 ,Vanktesh Dixit-1MV22IS115 Bonafide Students of
Sir M Visvesvaraya Institute of Technology in partial fulfilment for the 5th semester for the
award of the Degree of Bachelor of Engineering in Information Science and Engineering of the
Visvesvaraya Technological University, Belagavi during the academic year 2024-2025. It is
certified that all corrections and suggestions indicated for Internal Assessment have been
incorporated in the report deposited in the department library. The project report has been
approved as it satisfies the academic requirements in respect of project work prescribed for the
course of Bachelor of Engineering.
Examination:
Name of Examiner Signature with Date
1)
2)
DECLARATION
We hereby declare that the entire project work embodied in this dissertation has
been carried out by us and no part has been submitted for any degree or diploma
of any institution previously.
Place: Bengaluru
Date:
Signature of Student
Shrinivas 1MV22IS101
Heartfelt and sincere thanks to Dr. G. C. Bhanu Prakash, Prof. and Head,
Dept. of ISE, for his suggestions, constant support and encouragement.
We would also like to thank the staff of Department of Information Science and
Engineering and lab-in-charges for their co-operation and suggestions. Finally, we
would like to thank our Parents and friends for their help and suggestions without
which completing this project would not have been possible.
ABSTRACT
The shift towards digital platforms has transformed how individuals voice concerns and mobilize
collective action. The Online Petition Management System provides a streamlined solution for
creating, signing, and managing petitions, empowering users to participate in advocacy efforts
effortlessly. This innovative system leverages modern web technologies such as [Link],
MongoDB, JavaScript, and CSS to deliver a secure and efficient platform.
SL No Chapters Page No
Introduction 1
1 1.1 Overview 1
1.2 Organization of Report 1
Literature Review 2-3
2.1 Work Related to <<Optimization methods/protocols>> 2
2 2.2 Work Related to <<Image Processing>> 2
2.3 Work Related to <<Data extraction/Processing>> 3
2.4 Comparative study 3
Problem Statement and Objectives 4-5
3.1 Problem Statement 4
3
3.2 Objectives 4
3.3 Significance of the Project Work 4-5
4 Methodology 6-8
4.1 Block Diagram 6
4.2 System Architecture 7
4.3 Control Flow Diagram 7
4.4 Data Flow Diagram 8
4.5 Sequence Diagram / Activity Diagram 8
Implementation 9-13
5.1 System Requirements 9
5 5.2 Algorithms / Pseudocodes 9-10
5.3 Mathematical Description 11
5.4 Testing and Test Cases 11-13
Results and Discussion 14-20
6.1 Dataset Samples 14-15
6 6.2 Results 15-18
6.3 Result Analysis 19
6.4 Summary 20
Conclusion and Future Scope 21
7 7.1 Conclusion 21
7.2 Future Scope 21
8 References 22
LIST OF FIGURES
Page
Fig. No. Description
No
1 4.1 Block Diagram 6
2 4.2 System Architecture 7
3 4.3 Control Flow Diagram 7
4 4.4 Data Flow Diagram 8
5 4.5 Sequence Diagram /Activity Diagram 8
6 6.1 Dashboard 15
7 6.2 Category of Petition 16
8 6.3 View Petition 16
9 6.4 Discover Petition 17
10 6.5 SignIn Page 17
11 6.6 SignUp Page 18
12 6.7 Page for creating new petitions 18
LIST OF TABLES
Table Page
Description
No. No
1 Table for comparative study 3
Online Petition Management System Chapter 2
INTRODUCTION
1.1 Overview
The Online Petition Management System is an innovative web platform designed to make the
process of creating, managing, and signing petitions more accessible and efficient. In the age of
digital engagement, it provides users with a streamlined experience to support causes by signing
petitions online using a digital canvas. Unlike traditional paper-based petitions, which are often
slowed by logistical challenges and time constraints, this system allows users to instantly sign
and endorse petitions from anywhere.
The platform utilizes modern technologies, including HTML, CSS, and JavaScript for an
interactive and user-friendly front-end. On the back-end, [Link] and Express handle the server-
side operations, while Handlebars is used for rendering dynamic content. PostgreSQL ensures
secure and reliable storage of petition data and user information, guaranteeing transparency
throughout the petition lifecycle.
With its focus on ease of use, security, and transparency, the system encourages broader
participation in important social causes and allows for effortless petition management, making it
a powerful tool for digital advocacy.
The central concept of the application is to provide a platform for users to create, manage, and
support petitions virtually using the Internet. The system enables individuals and organizations to
advocate for causes and gather public support through digital signatures. The information
pertaining to users, petitions, and signatures is stored in an RDBMS at the server side. The server
processes petition-related activities, and the progress or updates are communicated to the users
via notifications or email.
Petition Creators: This module is for users who wish to create petitions. They can add titles,
descriptions, categories, and media files to their petitions.
Petition Supporters: This module is for users who wish to browse and sign petitions. They can filter
petitions by category or popularity, sign them digitally, and share them on social media.
LITERATURE SURVEY
DEPT. OF ISE, SIR MVIT 2023 - 2024 P a g e |1
Online Petition Management System Chapter 2
Optimization methods have been applied extensively to improve various aspects of online
petition management systems. The following works highlight significant contributions:
Content Management Systems (CMS): Studies have evaluated CMS platforms like WordPress
for their effectiveness in streamlining petition creation and management. These systems employ
templates and signatory tracking but face limitations in customization and advanced features for
large-scale campaigns (Jones & Smith, 2021).
Real-Time Optimization: [Link] and WebSocket-based solutions have been implemented for
real-time petition monitoring. These technologies enable live updates for organizers, but
scalability remains a challenge during high traffic periods (Clark & Turner, 2021).
Though image processing is less central to petition systems, related technologies are used in
verifying uploaded media or scanned documents attached to petitions.
Document Verification: Optical Character Recognition (OCR) has been used for extracting text
from images of documents submitted as evidence or support for petitions.
Image Compression and Optimization: Techniques like JPEG compression and neural networks
ensure that uploaded images are optimized for web use, reducing load times without
compromising quality.
Deep Learning Models: Convolutional Neural Networks (CNNs) are applied for object
recognition in petition-related media to verify authenticity or categorize submissions.
Data extraction and processing play a pivotal role in managing the vast amount of user and
petition data efficiently.
NLP-Based Data Extraction: Named Entity Recognition (NER) techniques are used to extract
key information, such as petition titles, categories, and descriptions. BERT and GPT models
enhance the accuracy and relevance of extracted data (Lee & Kumar, 2022).
Big Data Processing Frameworks: Tools like Hadoop and Spark handle large datasets generated
from extensive petitions and signatory data, providing insights through distributed data
processing.
APIs and Integrations: Social media APIs are leveraged to extract user engagement data and
track petition distribution across platforms, improving reach and visibility
(Johnson&Davis,2020).
A comparative analysis of optimization, image processing, and data extraction methods reveals
key strengths and gaps:
Data
Aspect Optimization Methods Image Processing
Extraction/Processing
Foundational
CMS, Blockchain, [Link] OCR, CNNs NLP, Hadoop, Spark
Techniques
Blockchain Transparency, Real- Deep Learning Models for
Advancements BERT for Enhanced NLP Tasks
Time Updates Verification
In an era where digital advocacy plays a crucial role in societal change, existing online petition
management systems face challenges in scalability, security, accessibility, and user
engagement. Most platforms lack advanced features such as real-time monitoring, robust data
processing, and seamless integration with accessibility technologies. These limitations hinder
the effectiveness of large-scale campaigns and reduce the trust and engagement of users,
thereby affecting the overall impact of petitions.
3.2 Objectives
Streamline Petition Creation and Management: Develop a user-friendly interface for creating
and managing petitions with customizable templates and efficient signatory tracking.
Enhance Accessibility and Participation: Ensure inclusivity through responsive web design and
adaptive technologies for low-bandwidth regions and users with disabilities.
Ensure Security and Transparency: Leverage blockchain technology and encryption algorithms
to secure user data and maintain transparent petition processes.
Increase Petition Reach and Engagement: Utilize social media integration and SEO techniques
to enhance the visibility and reach of petitions.
Enable Real-Time Monitoring and Insights: Implement real-time data analytics to provide
organizers with actionable insights and live updates.
The proposed system addresses critical gaps in current petition management platforms, offering
several benefits:
Empowering Advocacy: By streamlining the creation and management process, the system
empowers individuals and organizations to initiate impactful campaigns with ease.
Inclusive Participation: Accessibility features ensure that a wider audience, including those in
low-bandwidth areas or with disabilities, can engage with petitions.
Building Trust: Security and transparency enhancements foster trust among users, encouraging
more signatories to participate.
Wider Impact: Enhanced reach and engagement strategies amplify the visibility of petitions,
ensuring that they reach relevant stakeholders and decision-makers.
Real-Time Decision Making: The ability to monitor petitions in real time provides organizers
with critical insights to adapt their strategies effectively.
METHODOLOGY
IMPLEMENTATION
5.2.1 Initialization:
Import necessary libraries and UI components, such as React, useState (for managing
component state), and icons like Bell, CheckCircle, PenLine, and Users.
Define a functional component App using the const App = () => { ... } syntax.
petitions: Holds an array of petition objects, each containing details such as id, title,
description, signatureGoal, signatures, and creator.
selectedPetition: Stores the currently selected petition when viewing details or editing.
Use useState to create an initial list of petitions, each represented as an object with:
Use the page state variable to control which part of the application is displayed, such as a home
page listing all petitions or a detailed view for a specific petition.
Implement a method to change the page state and handle navigation within the app.
User Interaction:
Implement handlers for user interactions, like selecting a petition to view more details or
creating a new petition.
Use UI components like Card, Button, Input, and Textarea to build an interactive interface for
managing petitions.
Return the JSX structure for the component, which includes UI components wrapped in
meaningful containers and styled elements.
Unit testing
Unit testing involves the design of test cases that validate that the internal program logic is
functioning properly, and that program inputs produce valid outputs. All decision branches and
internal code flow should be validated. It is the testing of individual software units of the
application. it is done after the completion of an individual unit before integration. This is a
structural testing, that relies on knowledge of its construction and is invasive. Unit tests
perform basic tests at component level and test a specific business process, application, and/or
system configuration. Unit tests ensure that each unique path of a business process performs
accurately to the documented specifications and contains clearly defined inputs and expected
results.
Integration testing
Integration tests are designed to test integrated software components to determine if they
actually run as one program. Testing is event driven and is more concerned with the basic
outcome of screens or fields. Integration tests demonstrate that although the components were
individually satisfaction, as shown by successfully unit testing, the combination of components
is correct and consistent. Integration testing is specifically aimed at exposing the problems that
arise from the combination of components.
Functional test
Functional tests provide systematic demonstrations that functions tested are available as
specified by the business and technical requirements, system documentation, and user manuals.
Functional testing is centered on the following items:
System Test
System testing ensures that the entire integrated software system meets requirements. It tests a
configuration to ensure known and predictable results. An example of system testing is the
configuration-oriented system integration test. System testing is based on process descriptions
and flows, emphasizing pre-driven process links and integration points.
White Box
Testing White Box Testing is a testing in which in which the software tester has knowledge of
the inner workings, structure and language of the software, or at least its purpose. It is purpose.
It is used to test areas that cannot be reached from a black box level.
Black Box
Testing Black Box Testing is testing the software without any knowledge of the inner
workings, structure or language of the module being tested. Black box tests, as most other kinds
of tests, must be written from a definitive source document, such as specification or
requirements document, such as specification or requirements document. It is a testing in which
the software under test is treated, as a black box, you cannot “see” into it. The test provides
inputs and responds to outputs without considering how the software works.
Unit testing is usually conducted as part of a combined code and unit test phase of the software
lifecycle, although it is not uncommon for coding and unit testing to be conducted as two
distinct phases. Test strategy and approach field testing will be performed manually and
functional tests will written in detail.
Test objectives
Features to be tested
Test Results: All the test cases mentioned above passed successfully. No defects encountered.
oftware integration testing is the incremental integration testing of two or more integrated
software components on a single platform to produce failures caused by interface defects. The
task of the integration test is to check that components or software applications, e.g.
components in a software system or – one step up –software applications at the company level
– interact without error.
Test Results: All the test cases mentioned above passed successfully. No defects encountered.
User Acceptance Testing is a critical phase of any project and requires significant participation
by the end user. It also ensures that the system meets the functional requirements. Test Results:
All the test cases mentioned above passed successfully. No defects encountered.
We can use a relational database (e.g., MySQL, PostgreSQL) to store and manage data related
to petitions and user activities.
1. Users
Attributes:
name (VARCHAR)
created_at (TIMESTAMP)
2. Petitions
Attributes:
title (VARCHAR)
description (TEXT)
signature_goal (INTEGER)
created_at (TIMESTAMP)
[Link]
Attributes:
signed_at (TIMESTAMP)
Purpose: Tracks which users have signed which petitions and when.
6.1.2. Relationships
Foreign key: creator_id in the Petitions table references user_id in the Users table.
A user can sign multiple petitions, but each signature is tracked individually.
Foreign key: user_id in the Signatures table references user_id in the Users table.
6.2 Results
6.2.1 Dashboard
6.3Result Analysis
Petition Creation:
Successfully allows users to create petitions by entering a title, description, and target goal.
Signature Collection:
Verified that users can digitally sign petitions, and the system dynamically updates the signature count.
Petition Browsing:
Implemented filtering and sorting features for users to browse petitions by categories or popularity.
System Responsiveness:
Frontend pages load within 2 seconds on average, ensuring a smooth user experience.
Data Handling:
The backend, built with [Link], processes requests efficiently with minimal latency.
Database Performance:
MongoDB handles the storage and retrieval of petition data seamlessly, even with a mock dataset of 1,000
petitions.
Ease of Use:
Users found the system intuitive and straightforward to navigate, thanks to the clean UI designed with
Tailwind CSS.
Feedback:
Users appreciated the simplicity of signing petitions without requiring authentication in the demo phase.
6.3.4. Observations
Strengths:
o Simple and intuitive interface.
o Real-time updates and transparency in signature tracking.
o Scalable backend architecture.
Areas for Improvement:
o Adding user authentication for better petition management.
6.4 Summary
The Online Petition and Management System is a digital platform designed to simplify the
process of creating, managing, and signing petitions. The system empowers individuals and
communities to voice their concerns and advocate for change in an organized and transparent
manner. By leveraging modern web technologies, the platform provides a user-friendly interface
and ensures efficient handling of petition data.
7.1 Conclusion
The Online Petition and Management System successfully provides a digital platform for
creating, signing, and managing petitions. It simplifies the process of collective advocacy,
allowing users to voice their concerns and drive change effectively. By integrating user-
friendly features like petition tracking and transparent signature counts, this system fosters
public engagement and democratizes petitioning.
The project demonstrates the power of technology in addressing real-world problems, offering
a scalable solution that can be further enhanced to meet broader societal needs.
REFERENCES
Web Technologies
General Concepts
Articles on petition systems from online forums and blogs discussing features and
implementation challenges.
Research papers on online advocacy and e-petition platforms for understanding user
engagement.