Final Documentation
Final Documentation
SUBMITTED BY
PROJECT ASSOCIATES
DIPLOMA IN
COMPUTER ENGINEERING
U.RAJASRI(21010-CM-129) M.JESHIKA(21010-CM-102)
G.RAJAMANI(21045-CM-015)
SMT.T.PRATHYUSHA, M.TECH
DEPARTMENT OF COMPUTER ENGINEERING
ANDHRA POLYTECHNIC
KAKINADA-533002
2023-2024
Page 1 of 87
DEPARTMENT OF COMPUTER ENGINEERING
CERTIFICATE
This is to certify that this project work entitled “REWARDPLAST-
TURNING THE TRASH INTO TREASURE ” is the bonafied record work
done by Mr/Ms.__________________________________ bearing the
Pin No.___________________________ of the final year, along with
batch mates submitted on the partial fulfilment of the requirement for
the award of DIPLOMA IN COMPUTER ENGINEERING during the
academic year 2023-2024.
Page 2 of 87
ACKNOWLEDGEMENT
We have been tried to our level best to complete this project with group
discussion among our batch-mates and taking valuable suggestions from our
classmates and made it to work properly and effectively.
We also thankful to our Respected Principal Sri. N.JANARDHANA RAO for his
kind support in successful completion of this project.
Page 3 of 87
PROJECT ASSOCIATES
T.JAYARAJ 21010-CM-107
U.RAJASRI 21010-CM-129
M.JESHIKA 21010-CM-102
G.RAJAMANI 21045-CM-015
Page 4 of 87
TABLE OF CONTENT
Sl.n CONTENTS Pg.no
o
1. ABSTRACT 6
2. SOFTWARE REQUIREMENTS 7
3. INTRODUCTION 8-12
8. BIBLIOGRAPHY 81
10. CONCLUSION 84
Page 5 of 87
ABSTRACT
Page 6 of 87
SOFTWARE REQUIREMENTS
SOFTWARE SPECIFICATION:
Os : WINDOWS 11
SCRIPT LANGUAGE:
JAVA SCRIPT
WEB BROWSER :
Page 7 of 87
INTRODUCTION
REWARDPLAST-TURNING THE TRASH INTO
TRESAURE
Welcome to the documentation for our completed project, RewardPlast.
RewardPlast is an innovative initiative dedicated to making a positive impact on
the environment and supporting the recycling industry. In this comprehensive
documentation, we will explore the core aspects of this project, its significance,
and how it empowers individuals to take action for a cleaner, more sustainable
future.
Page 8 of 87
Key Project Objectives:
Empowering Users:
RewardPlast provides an accessible and user-friendly platform for individuals to
participate in recycling efforts.
As you delve into the documentation, we invite you to explore the inner workings
of RewardPlast, understand the challenges we've overcome, and consider the future
enhancements we envision. Whether you're a user, administrator, or a curious
observer, we hope this documentation enriches your understanding of our project
and inspires you to be part of our mission for a cleaner and more sustainable
future.
Thank you for your interest in RewardPlast, and we hope you find this
documentation informative and valuable.
Page 9 of 87
HTML:
Hypertext Markup Language (HTML) is the standard markup
language for creating web pages and web applications. With Cascading Style
Sheets (CSS), and JavaScript, it forms a triad of cornerstone technologies for
the World Wide Web. Web browsers receive HTML documents from a web
server or from local storage and render them into multimedia web pages. HTML
describes the structure of a web page semantically and originally included cues for
the appearance of the document.
HTML elements are the building blocks of HTML pages. With
HTML constructs, images and other objects, such as interactive forms, may be
embedded into the rendered page. It provides a means to create structured
documents by denoting structural semantics for text such as headings, paragraphs,
lists, links, quotes and other items. HTML elements are delineated by tags, written
using angle brackets. Tags such as <img /> and <input /> introduce content into the
page directly. Others such include other tags as sub-elements. Browsers do not
display the HTML tags, but use them to interpret as <p>...</p> surround and
provide information about document text and may the content of the page.
CSS:
Cascading Style Sheets (CSS) is a style sheet language used for
describing the presentation of a document written in a markup language. Although
most often used to set the visual style of web pages and user interfaces written
in HTML and XHTML, the language can be applied to any XML document,
including plain XML, SVG and XUL, and is applicable to rendering in speech, or
on other media. Along with HTML and JavaScript, CSS is a cornerstone
technology used by most websites to create visually engaging WebPages, user
interfaces for web applications, and user interfaces for many mobile applications.
CSS is designed primarily to enable the separation of document content from
document presentation, including aspects such as the layout, colors, and fonts. This
Page 10 of 87
separation can improve content accessibility, provide more flexibility and control
in the specification of presentation characteristics, enable multiple HTML pages to
share formatting by specifying the relevant CSS in a separate .css file, and reduce
complexity and repetition in the structural content.
Separation of formatting and content makes it possible to present the same
markup page in different styles for different rendering methods, such as on-screen,
in print, by voice (via speech-based browser or screen reader), and on Braille-
based tactile devices. It can also display the web page differently depending on the
screen size or viewing device. Readers can also specify a different style sheet, such
as a CSS file stored on their own computer, to override the one the author
specified.
Changes to the graphic design of a document (or hundreds of documents)
can be applied quickly and easily, by editing a few lines in the CSS file they use,
rather than by changing markup in the documents.
The CSS specification describes a priority scheme to determine which style
rules apply if more than one rule matches against a particular element. In this so-
called cascade, priorities (or weights) are calculated and assigned to rules, so that
the results are predictable.
JAVASCRIPT:
JavaScript is a high-level, dynamic, untyped,
and interpreted programming language. It has been standardized in
the ECMAScript language specification. Alongside HTML and CSS, JavaScript is
one of the three core technologies of World Wide Web content production; the
majority of websites employ it, and all modern Web browsers support it without
the need for plug-ins. JavaScript is prototype-based with first-class functions,
making it a multi-paradigm language, supporting object-oriented, imperative,
and functional programming styles It has an API for working with text, arrays,
dates and regular expressions, but does not include any I/O, such as networking,
storage, or graphics facilities, relying for these upon the host environment in which
it is embedded.
Although there are strong outward similarities between JavaScript and Java,
including language name, syntax, and respective standard libraries, the two are
distinct languages and differ greatly in their design. JavaScript was influenced by
programming languages such as Self and Scheme.
JavaScript is also used in environments that are not Web-based, such
as PDF documents, site-specific browsers, and desktop widgets. Newer and faster
Page 11 of 87
JavaScript virtual machines (VMs) and platforms built upon them have also
increased the popularity of JavaScript for server-side Web applications. On
the client side, developers have traditionally implemented JavaScript as
an interpreted language, but more recent browsers perform just-in-time
compilation. Programmers also use JavaScript in video-game development, in
crafting desktop and mobile applications, and in server-side network
programming with run-time environments.
PHP:
PHP is a server-side scripting language designed primarily for web
development but also used as a general-purpose programming language. Originally
created by Rasmus Lerdorf in 1994, the PHP reference implementation is now
produced by The PHP Development Team. PHP originally stood for Personal
Home Page, but it now stands for the recursive acronym PHP: Hypertext
Preprocessor.
PHP code may be embedded into HTML or HTML5 code, or it can be used
in combination with various web template systems, web content management
systems and web frameworks. PHP code is usually processed by a
PHP interpreter implemented as a module in the web server or as a Common
Gateway Interface (CGI) executable. The web server combines the results of the
interpreted and executed PHP code, which may be any type of data, including
images, with the generated web page. PHP code may also be executed with
a command-line interface (CLI) and can be used to implement standalone graphical
applications.
The standard PHP interpreter, powered by the Zend Engine, is free
software released under the PHP License. PHP has been widely ported and can be
deployed on most web servers on almost every operating system and platform, free
of charge.
Page 12 of 87
System Analysis and Feasibility Study
System analysis and feasibility study are critical initial phases of any project
development process. They help define project scope, analyze requirements, and
evaluate whether the project is viable, sustainable, and economically feasible. In
the context of RewardPlast, these phases played a crucial role in shaping the
project's direction.
- Identifying the key features and functionalities of both the user and admin panels.
This phase ensured that the project's goals and the end-user's needs were carefully
considered and translated into concrete system requirements.
Economic Feasibility:
Assessing the financial viability of the project, including budget requirements for
development, maintenance, and operational costs. It also involved considering the
potential for revenue generation through partnerships, sponsorships, or other
avenues.
Page 13 of 87
Technical Feasibility:
Evaluating the technical aspects of the project, including the availability of
technology, the complexity of implementation, and the feasibility of the desired
features.
Operational Feasibility:
including resource allocation, scalability, and the availability of skilled personnel
to maintain and support the system.
The feasibility study ensured that RewardPlast was not only a concept but a
practical, sustainable solution Analyzing how the project would function on a day-
to-day basis, to the problem of plastic pollution.
As you explore this documentation, you will find evidence of the results of this
system analysis and feasibility study throughout the project, from the user panel's
user-friendly features to the admin panel's efficient resource allocation. These
phases played a vital role in shaping RewardPlast into a comprehensive and
sustainable solution for addressing plastic pollution.
Page 14 of 87
SOFTWARE REQUIREMENT&SPECIFICATION:
Software Requirements and Specification (SRS) is a crucial document that outlines
the detailed requirements and specifications of a software project. In the case of
RewardPlast, the SRS serves as a comprehensive guide to the functionality,
features, and technical aspects of the platform.
The SRS for RewardPlast begins with a clear statement of project objectives,
outlining the purpose and goals of the software. These objectives typically include:
Page 15 of 87
- Performance criteria, such as response times and system reliability.
Page 16 of 87
Outcome: A Comprehensive Blueprint
The Software Requirements and Specification (SRS) document serves as a
comprehensive blueprint for the development and operation of RewardPlast. It
guides the software development team, ensuring that the project aligns with its
objectives, functions as intended, and meets all technical and non-technical
requirements. This document also plays a crucial role in communication between
development teams, project stakeholders, and quality assurance teams, ensuring
that everyone involved in the project has a clear understanding of the project's
scope and functionality.
Page 17 of 87
DESIGN
Design is a critical aspect of any software project, including your recycling plastic
website, RewardPlast. It encompasses the visual and structural aspects of the
website and plays a significant role in user experience and engagement. Here's an
overview of design in the context of your project:
2. Responsive Design:
3. User-Centered Design:
- UX design focuses on the overall experience users have while interacting with
the website. It includes considerations like smooth navigation, efficient processes
for generating recycling requests, and the overall satisfaction of users.
5. Information Architecture:
- Design also involves structuring the content and information on the website.
Information architecture organizes data, ensuring that users can easily find what
they're looking for, whether it's recycling instructions, their profiles, or the
leaderboard.
Page 18 of 87
6. Visual Design Elements:
- Visual elements like icons, images, and graphics are used to enhance the visual
appeal of the website and convey information effectively. The use of imagery can
also help educate users about recycling practices and the environmental impact of
their actions.
8. Accessibility:
- The design of RewardPlast takes accessibility into account, making the website
usable for individuals with disabilities. This includes features like alt text for
images and adherence to accessibility guidelines.
- Before the final design is implemented, prototypes and mock-ups are often
created to test the design's functionality and gather user feedback. This iterative
approach ensures that the design aligns with user expectations.
- User feedback plays a critical role in refining the design. User testing and
feedback are incorporated into the design process to address any usability issues or
areas for improvement.
11. Future-Proofing:
Page 19 of 87
SOURCE CODE
CODING:
Coding may refer to:
• Channel coding, in coding theory
• Line coding
• Computer programming, the process of designing, writing, testing, debugging /
troubleshooting, and maintaining the source code of computer programs.
• The process of Statistical classification of information.
• Coding (social sciences), refers to an analytical process in which data, in both
quantitative form (such as questionnaires results) or qualitative (such as
interview transcripts) are categorised to facilitate analysis.
• Coding (therapy), a controversial therapy used to treat addictions.
• Legal coding, the process of creating summary or keyword data from a
document. It is widely used in the legal profession to create a fast-search index
or database of documents for use in litigation.
• A coding strand of DNA is translated into a protein product.
• Code Blue (emergency code), which is a patient in Cardiac Arrest or
Respiratory Arrest.
The basic coding related to my project are as follows:
REWARD.HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
Page 20 of 87
<title>Reward Plast</title>
</head>
<body>
<section class="home">
<div class="content">
<h1><ion-icon name="earth"></ion-icon>REWARDPLAST</h1>
</div>
<div id="logincontainer">
<div class="wrapper">
<div class="container">
<div class="form-group">
<label>Username</label>
<div class="input-group">
<ion-icon name="person"></ion-icon>
</div>
</div>
Page 21 of 87
<div class="form-group">
<label for="password">Password</label>
<div class="input-group">
<ion-icon name="lock-closed"></ion-icon>
</div>
</div>
</form>
<div class="form-group">
<label>Full Name</label>
<div class="input-group">
<ion-icon name="accessibility"></ion-icon>
</div>
Page 22 of 87
</div>
<div class="form-group">
<label for="email">Email</label>
<div class="input-group">
</div>
</div>
<div class="form-group">
<label for="Username">Username</label>
<div class="input-group">
<ion-icon name="person"></ion-icon>
</div>
</div>
<div class="form-group">
<label for="password">Password</label>
<div class="input-group">
Page 23 of 87
pattern="^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-
Za-z\d@$!%*?&]{8,}$"
<ion-icon name="lock-closed"></ion-icon>
</div>
</div>
<div class="form-group">
<div class="input-group">
<ion-icon name="lock-closed"></ion-icon>
</div>
</div>
</form>
</div>
</div>
<script>
Page 24 of 87
const wrapper = document.querySelector('.wrapper');
loginForm.style.display = 'none';
registerForm.style.display = 'none';
btnLogin.addEventListener('click', () => {
loginForm.style.display = 'block';
registerForm.style.display = 'block';
} else {
loginForm.style.display = 'none';
registerForm.style.display = 'none';
});
</script>
<script>
function submitForm(event) {
Page 25 of 87
var form = event.target; // Use the event.target to reference the form element
fetch('Registration.php', {
method: 'POST',
body: formData
})
.then(data => {
alert(data.message);
})
.catch(error => {
console.error('Error:', error);
});
form.addEventListener('submit', submitForm);
</script>
<script>
function switchForm(className, e) {
Page 26 of 87
e.preventDefault();
allForm.forEach(item=> {
item.classList.remove('active');
})
form.classList.add('active');
registerPassword.addEventListener('input', function () {
registerConfirmPassword.pattern = `${this.value}`;
})
</script>
<script>
function displayMessage(message) {
alert(message);
Page 27 of 87
function handleResponse(response) {
displayMessage('LOGIN SUCCESSFULL');
if (response.redirect) {
window.location.href = response.redirect;
if (response.message) {
displayMessage(response.message);
} else {
} else {
document.addEventListener('DOMContentLoaded', function() {
form.addEventListener('submit', function(event) {
Page 28 of 87
fetch('login.php', {
method: 'POST',
body: formData
})
.then(response => {
if (!response.ok) {
return response.json();
})
.then(data => {
handleResponse(data);
})
.catch(error => {
console.error('Error:', error);
});
});
});
</script>
<script type="module"
src="https://unpkg.com/[email protected]/dist/ionicons/ionicons.esm.js"></script>
Page 29 of 87
<script nomodule
src="https://unpkg.com/[email protected]/dist/ionicons/ionicons.js"></script>
</body>
</html>
Reward.css
*{
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Poppins',sans-serif;
.nav a{
position: relative;
font-size: 1.1em;
color: white;
text-decoration: none;
margin-left: 40px;
.nav a::after{
content: '';
position: absolute;
left:0;
bottom: -6px;
width:100%;
Page 30 of 87
height: 3px;
background: white;
border-radius: 5px;
opacity: 0;
transition: .5s;
.nav a:hover::after{
opacity: 1;
.home
position: absolute;
width: 100%;
height: 100vh;
background:url('project.jpg') no-repeat;
background-size: cover;
background-position: center;
display: flex;
justify-content: space-between;
align-items: center;
.home .content{
max-width: 6000x;
Page 31 of 87
color: #fff;
.content h1{
font-size: 3em;
letter-spacing: .03em;
.content p{
.content button{
color: #fff;
text-decoration: none;
font-weight: 500;
border-radius: 40px;
transition: .5s;
display: flex;
.content button:hover{
background:linear-gradient(90deg,#1e0b04,#71412a);
.content .btnLogin{
width :130px;
Page 32 of 87
height:50px;
background:transparent;
outline:none;
border-radius: 40px;
align-items: center;
cursor: pointer;
font-size: 10 em;
color: #fff;
font-weight:500;
margin-left: 40px;
transition: .5s;
.home .wrapper{
position: relative;
width: 440px;
.wrapper h2{
font-size: 2em;
color: #fff;
text-align: center;
.wrapper .input-box{
position: relative;
Page 33 of 87
width: 100%;
height: 50px;
margin: 40px 0;
.input-box input{
width:100%;
height: 100%;
background: transparent;
outline: none;
border-radius: 40px;
font-size: 1em;
color: #fff;
.input-box label{
position: absolute;
top: 50%;
left:45px;
transform: translateY(-50%);
font-size: 1 em;
color: #fff;
pointer-events: none;
Page 34 of 87
a{
color: var(--blue);
text-decoration: none;
a:hover {
color: var(--dark-blue);
body {
background:url('project.jpg') no-repeat ;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
padding: 0 16px;
position: relative;
.container {
max-width: 500px;
width: 100%;
position: relative;
Page 35 of 87
}
form {
width: 100%;
padding: 28px;
border-radius: 12px;
background:transparent;
position: absolute;
top: 50%;
opacity: 0;
z-index: 100;
transition-delay: 0s;
form.active {
transform: translateY(-50%);
opacity: 1;
z-index: 200;
transition-delay: .3s;
.title {
font-size: 24px;
font-weight: 600;
margin-bottom: 20px;
Page 36 of 87
}
.form-group {
margin-bottom: 14px;
.form-group label {
display: inline-block;
margin-bottom: 4px;
.input-group {
width: 100%;
position: relative;
.input-group input {
outline: none;
border-radius: 6px;
width: 100%;
/* Validation */
.input-group input:focus,
.input-group input:not(:placeholder-shown) {
Page 37 of 87
border-color: var(--blue);
background: var(--grey);
.input-group input:focus + i,
.input-group input:not(:placeholder-shown) + i {
color: var(--blue);
.input-group input:focus:valid {
.input-group input:valid:not(:placeholder-shown) {
border-color: var(--green);
.input-group input:valid:not(:placeholder-shown) + i {
color: var(--green);
.input-group input:invalid:not(:placeholder-shown) {
border-color: var(--red);
.input-group input:invalid:not(:placeholder-shown) + i {
color: var(--red);
.input-group input:focus:invalid {
Page 38 of 87
}
.input-group input:focus,
.input-group input:focus:placeholder-shown {
.input-group input:focus,
.input-group input:not(:placeholder-shown) {
border-color: var(--blue);
background: var(--grey);
.input-group input:focus + i,
.input-group input:not(:placeholder-shown) + i {
color: var(--blue);
.input-group input:focus:valid {
.input-group input:valid:not(:placeholder-shown) {
border-color: var(--green);
.input-group input:valid:not(:placeholder-shown) + i {
color: var(--green);
.input-group input:invalid:not(:placeholder-shown) {
Page 39 of 87
border-color: var(--red);
.input-group input:invalid:not(:placeholder-shown) + i {
color: var(--red);
.input-group input:focus:invalid {
.input-group input:focus,
.input-group input:focus:placeholder-shown {
/* Validation */
.input-group i {
position: absolute;
top: 50%;
transform: translateY(-50%);
right: 20px;
color: var(--text);
pointer-events: none;
Page 40 of 87
.input-group ion-icon {
position: absolute;
top: 50%;
transform: translateY(-50%);
right: 20px;
color: var(--text);
pointer-events: none;
.form-group .help-text {
font-size: 12px;
color: var(--text);
.btn-submit {
padding: 12px 0;
display: block;
width: 100%;
color: #fff;
border-radius: 6px;
cursor: pointer;
border: none;
font-weight: 500;
background: var(--blue);
Page 41 of 87
margin-bottom: 20px;
.btn-submit:hover {
background: var(--dark-blue);
Generate request.php
<?php
session_start();
require 'connection.php';
if (!isset($_SESSION['username'])) {
exit();
$username = $_SESSION['username'];
if (isset($_POST["submit"])) {
$street = $_POST["street"];
$city = $_POST["city"];
$state = $_POST["state"];
$postal_code = $_POST["postal_code"];
if ($_FILES["image"]["error"] == 4) {
Page 42 of 87
echo "<script> alert('Image Does Not Exist'); </script>";
} else {
$fileName = $_FILES["image"]["name"];
$fileSize = $_FILES["image"]["size"];
$tmpName = $_FILES["image"]["tmp_name"];
$imageExtension = strtolower(end($imageExtension));
if (!in_array($imageExtension, $validImageExtension)) {
} else {
$newImageName = uniqid();
mysqli_query($conn, $query);
Page 43 of 87
echo "<script>alert('Successfully Added');</script>";
?>
<!DOCTYPE html>
<head>
<meta charset="utf-8">
</head>
<body style="background-color:#ccea7b;">
<section>
<h2><ion-icon name="earth"></ion-icon>REWARDPLAST</h2>
</section>
<div class="margin">
<h1>REQUEST FORM</h1>
</div>
<div class="request-box">
Page 44 of 87
<label for="street">Street Address:</label>
<label for="city">City:</label>
<label for="state">State:</label>
</div>
</div>
<div class="button-container">
<button id="go-back-button"onclick="goBack()">Goback</button>
</div>
</form>
</div>
<script>
function goBack() {
Page 45 of 87
}
function submitForm() {
document.getElementById('combined-form').addEventListener('keydown',
function (e) {
e.preventDefault();
});
</script>
</script>
<script type="module"
src="https://unpkg.com/[email protected]/dist/ionicons/ionicons.esm.js"></script>
<script nomodule
src="https://unpkg.com/[email protected]/dist/ionicons/ionicons.js"></script>
</body>
</html>
USERMANAGEMENT.php
<!DOCTYPE html>
<html>
Page 46 of 87
<head>
<title>User List</title>
<style>
*{
margin: 0;
padding: 0;
box-sizing: border-box;
body {
background-color:#ccea7b;
margin: 0;
padding: 0;
section {
color: #fff;
text-align: center;
padding: 20px 0;
section h2{
text-align: center;
Page 47 of 87
font-size: 3em;
text-align: center;
color: #fff;
padding: 20px 0;
margin: 0;
width: 100%;
section p{
text-align: center;
font-size: 1.5em;
h1 {
text-align: center;
background-color: #ccea7b;
padding: 20px;
margin-bottom: 20px;
table {
border-collapse: collapse;
width: 80%;
Page 48 of 87
table, th, td {
th, td {
padding: 10px;
text-align: left;
th {
background-color: #007bff;
font-size:30px;
button.demote {
background-color: blue;
color: white;
button.promote {
background-color: green;
color: white;
Page 49 of 87
button.remove {
background-color: red;
color: white;
.action-buttons {
display: flex;
justify-content: space-between;
.goback-button {
position: fixed;
top: 20px;
left: 20px;
z-index: 9999;
cursor: pointer;
border-radius: 1px;
left: 40px;
top: 25px;
font-size: 35px;
color: white;
Page 50 of 87
}
</style>
</head>
<body>
<section>
<h2><ion-icon name="earth"></ion-icon>REWARDPLAST</h2>
</section>
<div class="line-container">
<hr class="line">
</div>
<h1>User Management</h1>
<table>
<thead>
<tr>
<th>ID</th>
<th>NAME</th>
<th>EMAIL</th>
<th>USERNAME</th>
<th>USER_TYPE</th>
<th>Action</th>
</tr>
Page 51 of 87
</thead>
<tbody>
<?php
$host = 'localhost';
$username = 'root';
$password = '';
$database = 'project';
if ($conn->connect_error) {
$result = $conn->query($sql);
if (!$result) {
Page 52 of 87
// Check if there are rows in the result set
if ($result->num_rows > 0) {
$i = 1;
echo "<tr>";
if ($row['user_type'] == 'admin') {
} else {
echo "</td>";
Page 53 of 87
echo "</tr>";
} else {
$conn->close();
?>
</tbody>
</table>
<script>
function demoteUser(button) {
xhr.setRequestHeader('Content-type', 'application/x-www-form-
urlencoded');
xhr.onreadystatechange = function () {
Page 54 of 87
// Check if the response indicates success
location.reload();
} else {
};
xhr.send('username=' + username);
function promoteUser(button) {
xhr.setRequestHeader('Content-type', 'application/x-www-form-
urlencoded');
Page 55 of 87
xhr.onreadystatechange = function () {
location.reload();
} else {
};
xhr.send('username=' + username);
function removeUser(button) {
Page 56 of 87
var xhr = new XMLHttpRequest();
xhr.setRequestHeader('Content-type', 'application/x-www-form-
urlencoded');
xhr.onreadystatechange = function () {
location.reload();
} else {
};
xhr.send('username=' + username);
</script>
<script>
Page 57 of 87
function goBack() {
</script>
<script type="module"
src="https://unpkg.com/[email protected]/dist/ionicons/ionicons.esm.js"></script>
<script nomodule
src="https://unpkg.com/[email protected]/dist/ionicons/ionicons.js"></script>
</body>
</html>
LEADERBOARD.PHP
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Plastic Leaderboard</title>
</head>
<body>
<section>
<h2><ion-icon name="earth"></ion-icon>REWARDPLAST</h2>
</section>
Page 58 of 87
<h2>Leader Board</h2>
<table>
<thead>
<tr>
<th>Rank</th>
<th>Name</th>
<th>Amount (Rupees)</th>
</tr>
</thead>
<tbody>
<?php
$host = "localhost";
$username = "root";
$password = "";
$database = "project";
if ($conn->connect_error) {
Page 59 of 87
// Query to fetch leaderboard data
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$rank = 1;
echo "</tr>";
$rank++;
} else {
$conn->close();
?>
</tbody>
</table>
Page 60 of 87
<script>
function goBack() {
</script>
<style>
body {
background-color:#ccea7b;
section {
width: 100%;
color: #fff;
text-align: center;
padding: 20px 0;
section h2 {
text-align: center;
font-size: 3em;
text-align: center;
color: #fff;
Page 61 of 87
padding: 20px 0;
margin: 0;
width: 100%;
section p {
text-align: center;
font-size: 1.5em;
h2 {
text-align: center;
font-size: 30px;
color: black;
padding: 20px;
margin-bottom: 20px;
.goback-button {
Page 62 of 87
cursor: pointer;
border-radius: 1px;
left: 40px;
top: 25px;
font-size: 35px;
color: white;
table {
width: 80%;
border-collapse: collapse;
th {
font-size: 30px;
background-color: #007bff;
color: white;
Page 63 of 87
text-align: left;
padding: 10px;
tr {
tr:nth-child(even) {
background-color: #f2f2f2;
tr:nth-child(odd) {
background-color: #e6e6e6;
tr:nth-child(1) {
Page 64 of 87
/* Hover effect for rows */
tr:hover {
transform: translateY(-3px);
background-color:#A4BE5C;
td {
padding: 10px;
td:first-child {
background-color: transparent;
color: black;
font-weight: bold;
/* Add some spacing between the cells in the first row (table headers) */
th, td {
td:first-child, th:first-child {
Page 65 of 87
text-align: center;
table {
width: 100%;
tr:nth-child(1) {
@keyframes highlight {
100% {
Page 66 of 87
@keyframes rgb-lighting {
0% {
background-position: 0 0;
100% {
background-position: 100% 0;
</style>
<script type="module"
src="https://unpkg.com/[email protected]/dist/ionicons/ionicons.esm.js"></script>
<script nomodule
src="https://unpkg.com/[email protected]/dist/ionicons/ionicons.js"></script>
</body>
</html>
TESTING
Page 67 of 87
The aim of testing is to help realise identify all defects in a program.
However, in practice, even after satisfactory completion of the testing phase, it is
not possible to guarantee that a program is error free. This is because the input
domain of most programs is very large, and it is not practical to test the program
exhaustively with respect to each value that he input can assume.
Page 68 of 87
Testing is a critical phase in the software development process, ensuring that the
website, like RewardPlast, functions as intended and meets quality standards. It
involves systematically evaluating the software for errors, bugs, and performance
issues. Here's an overview of testing in the context of our project:
2. Integration Testing:
3. Functional Testing:
5. Security Testing:
Page 69 of 87
- Security testing is crucial to identify vulnerabilities in the website that could be
exploited by malicious actors. This involves testing for issues like data breaches,
unauthorized access, and payment security.
6. Performance Testing:
7. Usability Testing:
- Usability testing involves real users interacting with the website to provide
feedback on its user-friendliness and functionality. This feedback helps identify
areas for improvement in design and usability.
8. Regression Testing:
- Regression testing ensures that new updates or code changes do not introduce
new issues or break existing functionalities. It is essential to maintain the overall
quality of the website as it evolves.
9. Compatibility Testing:
- Load and stress testing assesses the website's performance under extreme
conditions, such as heavy traffic or sudden spikes in user activity. This testing
ensures that the website remains stable and responsive.
- UAT involves users validating whether the website meets their expectations
and is ready for release. It is a crucial step in confirming that the website aligns
with user needs.
Page 70 of 87
- Throughout the testing process, detailed records are kept of issues, test cases,
and test results. Test reports are created to document the status of the website's
quality.
OUTPUT SCREENS
Page 71 of 87
REWARD.HTML
Page 72 of 87
USER PANEL
ADMIN PANEL
Page 73 of 87
HOME PAGE
PROFILE
Page 74 of 87
GENERATE REQUEST
MY PAYMENTS
Page 75 of 87
LEADER BOARD
CONTACT US
Page 76 of 87
PENDING REQUESTS
RECYCLING CENTERS
Page 77 of 87
PAYMENTS OVERVIEW
LEADERBOARD MANAGEMENT
USER MANAGEMENT
Page 78 of 87
ABOUT US
Page 79 of 87
FAQ’S
FORGET PASSWORD
Page 80 of 87
BIBLIOGRAPHY
Technical support:
https://chatgpt.com//
https://YouTube.com//
https://github.com//
Prescribed textbooks
[K.Bala guru swamy]
Page 81 of 87
FUTURE WORK
1.Improved User Experience:
Mobile App: Develop a mobile app to make it more accessible and convenient for
users to report and find plastic collection locations.
Data Insights: Implement data analytics to track and visualize trends in plastic
collection, such as popular collection spots, peak collection times, and types of
plastics collected.
3.Interactive Maps:
Create interactive maps that allow users to explore and filter collection points
easily.
4.Community Forums:
Add a community forum or discussion board where users can share tips,
experiences, and best practices related to plastic collection.
5.Social Integration:
Develop and provide educational materials on the website about the environmental
impact of plastic pollution and the importance of recycling.
7.Event Promotion:
Page 82 of 87
8.Integration with IoT and Smart Technologies:
Smart Bins: Explore the possibility of integrating IoT sensors with collection bins
to monitor their capacity and notify users when they need emptying.
9.Smart Reporting:
Allow users to report issues with collection points in real-time, such as when bins
are full or damaged.
11.Gamification:
Enhance user privacy and data security measures, as the platform may collect
personal information.
Page 83 of 87
CONCLUSION
Page 84 of 87
Page 85 of 87
Page 86 of 87
Page 87 of 87