Event Management System
Event Management System
1.0 1.1Synopsis 1
1.2 Organization Profiles
5.0 Design 42
5.1Frontend design
5.2Backend design
7.0 Testing 72
8.0 Conclusion 76
10.0 References 80
CHAPTER 1
SYNOPSIS
An Event Management and Report Generation is a web based application system
that provides the users to store and retrieve the event report details in an easy and efficient
way. Using this system, the administration of the system can easily maintain and monitor
each and every department event details. In past framework, all the data needs to see in a
hard document. In the proposed system user will login and upload all the event
information on the department portal and the admin will easily view all the details. This
project will reduce paperwork and manpower hence creating a hassle-free way of
managing an event. This web based system also provides a good security features to all
the users since we can provide privacy in handling all information. Hence event
management and report generation system helps the administration to view reports in a
daily manner which in turn reduces the manual efforts of the users to maintain the details
of the events. The rapid growth of technology in this era is creating a huge impact on our
lives. When it comes to managing events have no automated system to record and uses
the manual and paper based system to check the event of a particular department in a
particular event. However, taking this system manually and maintaining it for a long time
is a difficult task, wastes lots of time. In Accordance, will develop an event management
and report generation is employed to manage all the activity associated with an
occurrence. It is a web based system with the capability to check all the event details.
Once the completion of event, user can upload all event information on the department
portal to scanned copies and also the admin can simply view all the report. It will help in
easy storage and access of all information in a short period of time. If the user is unable to
upload the report within a week after the event, the admin will send an alert message via
email to user that you have not yet submitted the report. It offer reliable and easy event
management and report generation. This technique helps the event management to
manage their work online and that they also can retrieve a report when they are uploaded.
1.2 ORGANIZATION PROFILES
ADMINISTRATION OFFICE
OFFICE ADDRESS:
No.17/595, 1st Floor Mannar Sarefoji Nagar 2nd Street,Opp.New Bus Stand,
Thanjavur-5.
CONTACT: 04362-228899, 9597754496.
E-MAIL: [email protected].
CHAPTER 2
SYSTEM ANALYSIS
2.1EXISTING SYSTEM
This existing system is manual and not providing an online help. This system
doesn’t provide manage of user activities and their progress. This manual system gives us
very less security for saving data and some data may be lost due to mismanagement. So it
is difficult to manage all event activity manually. In the existing system does not help
users to get the right information at the right time.
Disadvantages
Advantages
Admin Login: In the Admin login form, the administrator has to enter the username and
password to login into the event management system menu form.
Main Menu: In the event management system main menu form, the menus are split into
event details, registration, token details and reports.
Event Details: In the event details form, it includes the event id, event name, event
organizer, and event fee and event contact number.
Student Registration: In the student registration form, the student has to enter the
student name, department, college name, email identification and the phone number. The
student details are allowed to store in the centralized database with an automatic
generated event id.
CHAPTER 3
SYSTEM CONFIGURATION
Hardware Requirements
Hard disk : 1 TB
RAM : 4 GB
Processor : Core i3
Monitor : 15’’Color Monitor
Software Requirements
4.1SOFTWARE DESCRIPTION
Python
Python is an interpreter, object-oriented, high-level programming language with dynamic
semantics. Its high-level built in data structures, combined with dynamic typing and
dynamic binding, make it very attractive for Rapid Application Development, as well as
for use as a scripting or glue language to connect existing components together. Python's
simple, easy to learn syntax emphasizes readability and therefore reduces the cost of
program maintenance. Python supports modules and packages, which encourages
program modularity and code reuse. The Python interpreter and the extensive standard
library are available in source or binary form without charge for all major platforms, and
can be freely distributed.
Often, programmers fall in love with Python because of the increased productivity it
provides. Since there is no compilation step, the edit-test-debug cycle is incredibly fast.
Debugging Python programs is easy: a bug or bad input will never cause a segmentation
fault. Instead, when the interpreter discovers an error, it raises an exception. When the
program doesn't catch the exception, the interpreter prints a stack trace. A source level
debugger allows inspection of local and global variables, evaluation of arbitrary
expressions, setting breakpoints, stepping through the code a line at a time, and so on.
The debugger is written in Python itself, testifying to Python's introspective power. On
the other hand, often the quickest way to debug a program is to add a few print statements
to the source: the fast edit-test-debug cycle makes this simple approach very effective.
Fast prototyping
Professionally, Python is great for backend web development, data analysis, artificial
intelligence, and scientific computing. Developers also use Python to build productivity
tools, games, and desktop apps.
Compatible with a variety of platforms including Windows, Mac, Linux, Raspberry Pi,
and others
Uses a simple syntax comparable to the English language that lets developers use fewer
lines than other programming languages
Python Syntax
Somewhat similar to the English language, with a mathematical influence, Python is built
for readability
Unlike other languages that use semicolons and/or parentheses to complete a command,
Python uses new lines for the same function
Defines scope (i.e., loops, functions, classes) by relying indentation, using whitespace,
rather than braces (aka curly brackets)
Python Flexibility
Python, a dynamically typed language, is especially flexible, eliminating hard rules for
building features and offering more problem-solving flexibility with a variety of methods.
It also allows uses to compile and run programs right up to a problematic area because it
uses run-time type checking rather than compile-time checking.
On the down side, Python isn’t easy to maintain. One command can have multiple
meanings depending on context because Python is a dynamically typed language. And,
maintaining a Python app as it grows in size and complexity can be increasingly difficult,
especially finding and fixing errors. Users will need experience to design code or write
unit tests that make maintenance easier.
Python and AI
AI researchers are fans of Python. Google TensorFlow, as well as other libraries (scikit-
learn, Keras), establish a foundation for AI development because of the usability and
flexibility it offers Python users. These libraries, and their availability, are critical because
they enable developers to focus on growth and building.
Good to Know
The Python Package Index (PyPI) is a repository of software for the Python programming
language. PyPI helps users find and install software developed and shared by the Python
community.
Flask Python
Flask is a web framework; it’s a Python module that lets you develop web applications
easily. It’s has a small and easy-to-extend core: it’s a microframework that doesn’t
include an ORM (Object Relational Manager) or such features.
It does have many cool features like url routing, template engine. It is a WSGI web app
framework.
A Web Application Framework or a simply a Web Framework represents a collection of
libraries and modules that enable web application developers to write applications
without worrying about low-level details such as protocol, thread management, and so on.
MySQL
Cloud Computing
Cloud computing is the delivery of different services through the Internet. These
resources include tools and applications like data storage, servers, databases, networking,
and software.
Rather than keeping files on a proprietary hard drive or local storage device, cloud-based
storage makes it possible to save them to a remote database. As long as an electronic
device has access to the web, it has access to the data and the software programs to run it.
Cloud computing is a popular option for people and businesses for a number of reasons
including cost savings, increased productivity, speed and efficiency, performance, and
security.
Cloud computing is named as such because the information being accessed is found
remotely in the cloud or a virtual space. Companies that provide cloud services enable
users to store files and applications on remote servers and then access all the data via the
Internet. This means the user is not required to be in a specific place to gain access to it,
allowing the user to work remotely.
Cloud computing takes all the heavy lifting involved in crunching and processing data
away from the device you carry around or sit and work at. It also moves all of that work
to huge computer clusters far away in cyberspace. The Internet becomes the cloud, and
voilà—your data, work, and applications are available from any device with which you
can connect to the Internet, anywhere in the world.
Cloud computing can be both public and private. Public cloud services provide their
services over the Internet for a fee. Private cloud services, on the other hand, only provide
services to a certain number of people. These services are a system of networks that
supply hosted services. There is also a hybrid option, which combines elements of both
the public and private services.
Email
Storage, backup, and data retrieval
Creating and testing apps
Analyzing data
Audio and video streaming
Delivering software on demand
Cloud computing is still a fairly new service but is being used by a number of different
organizations from big corporations to small businesses, nonprofits to government
agencies, and even individual consumers.
Deployment Models
There are various types of clouds, each of which is different from the other. Public clouds
provide their services on servers and storage on the Internet. These are operated by third-
party companies, who handle and control all the hardware, software, and the general
infrastructure. Clients access services through accounts that can be accessed by just about
anyone.
Private clouds are reserved for specific clientele, usually one business or organization.
The firm's data service center may host the cloud computing service. Many private cloud
computing services are provided on a private network.
Hybrid clouds are, as the name implies, a combination of both public and private services.
This type of model allows the user more flexibility and helps optimize the user's
infrastructure and security.
Cloud computing is not a single piece of technology like a microchip or a cell phone.
Rather, it's a system primarily comprised of three services: software-as-a-service (SaaS),
infrastructure-as-a-service (IaaS), and platform-as-a-service (PaaS).
Software-as-a-service (SaaS) involves the licensure of a software application to
customers. Licenses are typically provided through a pay-as-you-go model or on-demand.
This type of system can be found in Microsoft Office's 365.1
Platform-as-a-service (PaaS) is considered the most complex of the three layers of cloud-
based computing. PaaS shares some similarities with SaaS, the primary difference being
that instead of delivering software online, it is actually a platform for creating software
that is delivered via the Internet. This model includes platforms like Salesforce.com and
Heroku.4 5
Cloud-based software offers companies from all sectors a number of benefits, including
the ability to use software from any device either via a native app or a browser. As a
result, users can carry their files and settings over to other devices in a completely
seamless manner.
Cloud computing is far more than just accessing files on multiple devices. Thanks to
cloud computing services, users can check their email on any computer and even store
files using services such as Dropbox and Google Drive.6 7 Cloud computing services also
make it possible for users to back up their music, files, and photos, ensuring those files
are immediately available in the event of a hard drive crash.
It also offers big businesses huge cost-saving potential. Before the cloud became a viable
alternative, companies were required to purchase, construct, and maintain costly
information management technology and infrastructure. Companies can swap costly
server centres and IT departments for fast Internet connections, where employees interact
with the cloud online to complete their tasks.
The cloud structure allows individuals to save storage space on their desktops or laptops.
It also lets users upgrade software more quickly because software companies can offer
their products via the web rather than through more traditional, tangible methods
involving discs or flash drives. For example, Adobe customers can access applications in
its Creative Cloud through an Internet-based subscription.8 This allows users to
download new versions and fixes to their programs easily.
With all of the speed, efficiencies, and innovations that come with cloud computing, there
are, naturally, risks.
Security has always been a big concern with the cloud especially when it comes to
sensitive medical records and financial information. While regulations force cloud
computing services to shore up their security and compliance measures, it remains an
ongoing issue. Encryption protects vital information, but if that encryption key is lost, the
data disappears.
Servers maintained by cloud computing companies may fall victim to natural disasters,
internal bugs, and power outages, too. The geographical reach of cloud computing cuts
both ways: A blackout in California could paralyze users in New York, and a firm in
Texas could lose its data if something causes its Maine-based provider to crash.
As with any technology, there is a learning curve for both employees and managers. But
with many individuals accessing and manipulating information through a single portal,
inadvertent mistakes can transfer across an entire system.
4.3 DIAGRAMS
Architecture Diagram
No
Department 1
Submitted Monitor
Admin
Yes
Department 2
Department 3
send Alert
User Database Message to
.
. User
.
.
Department n
Upload
Events
Reports
update details
logout
login
search details
user
register
logout
update
retrieve details
search
Class Diagram
Class diagram is the type of static structure diagram that describe the structure of a
system by showing the systems classes, their attributes operations or methods under
relationship among the objects.
login register
username event type
password date
destination
login() name
companyname
contact no
email id
search address
topic presented
bydate
image upload
by year
by name
submit()
reset()
search()
Activity Diagram
Activity diagram is another important diagram in UML to describe the dynamic
aspects of the system. Activity diagram is basically a flowchart to represent the flow from
one activity to another activity. The activity can be described as an operation of the
system. The control flow is drawn from one operation to another. This flow can be
sequential, branched, or concurrent. Activity diagrams deal with all type of flow control
by using different elements such as fork, join, etc.
E-R Diagram
An Entity Relationship (ER) Diagram is a type of flowchart that illustrates how
“entities” such as people, objects or concepts relate to each other within a system. ER
Diagrams are most often used to design or debug relational databases in the fields of
software engineering, business information systems, education and research.
CHAPTER 5
DESIGN
5.1 FRONTEND DESIGN
5.2 BACKEND DESIGN
CHAPTER 6
SAMPLE CODING
App.py
from flask import Flask, render_template , request , redirect, session
import sqlite3
app = Flask(__name__, static_url_path='/static')
@app.route("/")
def index():
return render_template("index.html")
@app.route("/home")
def home():
return render_template("home.html")
@app.route("/event")
def event():
return render_template("event.html")
@app.route("/admin")
def admin():
return render_template("admin/login.html")
@app.route("/admin/user")
def admin_user():
rows = []
return render_template("admin/user.html",rows = rows)
@app.route("/admin/report")
def admin_report():
rows = []
return render_template("admin/report.html",rows = rows)
Index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Admin</title>
<link rel="shortcut icon" href="/static/images/favicon.png" type="image/x-icon">
<link rel="stylesheet" href="/static/css/bootstrap.css">
<script src='/static/js/bootstrap.js'></script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://unpkg.com/[email protected]/dist/aos.css" rel="stylesheet">
<script src="https://unpkg.com/[email protected]/dist/aos.js"></script>
</head>
<body style="background-color: #2b74e2;background-position:center;background-repeat:
no-repeat;background-attachment: fixed;background-size: cover;">
<script>
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
if(urlParams.get('err')){
document.write("<div style='position:fixed;bottom:30px; right:30px;background-
color:tomato;padding:10px;border-radius:10px;box-shadow:2px 2px 4px
#aaa;color:white;font-weight:600'>"+urlParams.get('err')+"</div>")
}
setTimeout(()=>{
document.getElementById("err").style.display="none"
}, 5000)
</script>
<div data-aos="zoom-in" class="container" style="margin-top:120px;margin-
bottom:100px;width:500px;max-width:100vw;background-color: white;padding:30px
0px;border-radius: 30px;box-shadow: 2px 2px 8px #ccc;">
<h2 style="text-align: center;color:#2b74e2"><b>Department login</b></h2>
<br>
<form style="margin: 0 20%" action="{{ url_for('admin_login')}}" method="post">
<div class="form-outline mb-4">
<label class="form-label" for="form2Example1">Email :</label>
<input type="email" name="email" class="form-control" required/>
</div>
<div class="form-outline mb-4">
<label class="form-label" for="form2Example2">Password :</label>
<input type="password" name="password" class="form-control" required/>
</div>
<br>
<center>
<button type="submit" class="btn btn-block mb-4"
style="width:100%"><b>Login</b></button>
</center>
</form>
</div>
<style>
button{
background-color: #2b74e2 !important;
color:white !important;
height:45px !important;
font-size:22px !important;
}
.form-control:focus , .form-control:active{
box-shadow: none !important;
}
</style>
<script>
AOS.init();
</script>
</body>
</html>
Home.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Admin</title>
<link rel="stylesheet" href="/static/css/bootstrap.min.css">
<link rel="stylesheet" href="/static/style.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="/static/js/moment.js"></script>
</head>
<body>
<li class="nav-item">
<a class="nav-link" aria-current="page" href="/admin/user">User</a>
</li>
<li class="nav-item">
<a class="nav-link" aria-current="page" href="/admin/report">Report</a>
</li>
<li class="nav-item">
<a class="nav-link" onclick="return confirm('Do you want to Logout?')"
href="/admin/logout.php">Logout</a>
</li>
</ul>
</div>
</div>
</nav>
<script>
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
if(urlParams.get('err')){
document.write("<div id='err' style='position:fixed;bottom:30px; right:30px;background-
color:#FF0000;padding:10px;border-radius:10px;box-shadow:2px 2px 4px
#aaa;color:white;font-weight:600'>"+urlParams.get('err')+"</div>")
}
setTimeout(()=>{
document.getElementById("err").style.display="none"
}, 3000)
</script>
<script>
if(urlParams.get('msg')){
document.write("<div id='msg' style='position:fixed;bottom:30px;
right:30px;background-color:#4CAF50;padding:10px;border-radius:10px;box-
shadow:2px 2px 4px
#aaa;color:white;font-weight:600'>"+urlParams.get('msg')+"</div>")
}
setTimeout(()=>{
document.getElementById("msg").style.display="none"
}, 3000)
</script>
<script src="/static/js/bootstrap.bundle.js"></script>
</body>
</html>
Login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Admin</title>
<link rel="shortcut icon" href="/static/images/favicon.png" type="image/x-icon">
<link rel="stylesheet" href="/static/css/bootstrap.css">
<script src='/static/js/bootstrap.js'></script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://unpkg.com/[email protected]/dist/aos.css" rel="stylesheet">
<script src="https://unpkg.com/[email protected]/dist/aos.js"></script>
</head>
<body style="background-color: #2b74e2;background-position:center;background-repeat:
no-repeat;background-attachment: fixed;background-size: cover;">
<script>
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
if(urlParams.get('err')){
document.write("<div style='position:fixed;bottom:30px; right:30px;background-
color:tomato;padding:10px;border-radius:10px;box-shadow:2px 2px 4px
#aaa;color:white;font-weight:600'>"+urlParams.get('err')+"</div>")
}
setTimeout(()=>{
document.getElementById("err").style.display="none"
}, 5000)
</script>
<div data-aos="zoom-in" class="container" style="margin-top:120px;margin-
bottom:100px;width:500px;max-width:100vw;background-color: white;padding:30px
0px;border-radius: 30px;box-shadow: 2px 2px 8px #ccc;">
<h1 style="text-align: center;color:#2b74e2"><b>Admin</b></h1>
<br>
<form style="margin: 0 20%" action="{{ url_for('admin_login')}}" method="post">
<div class="form-outline mb-4">
<label class="form-label" for="form2Example1">Email :</label>
<input type="email" name="email" class="form-control" required/>
</div>
<div class="form-outline mb-4">
<label class="form-label" for="form2Example2">Password :</label>
<input type="password" name="password" class="form-control" required/>
</div>
<br>
<center>
<button type="submit" class="btn btn-block mb-4"
style="width:100%"><b>Login</b></button>
</center>
</form>
</div>
<style>
button{
background-color: #2b74e2 !important;
color:white !important;
height:45px !important;
font-size:22px !important;
}
.form-control:focus , .form-control:active{
box-shadow: none !important;
}
</style>
<script>
AOS.init();
</script>
</body>
</html>
Report.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Admin</title>
<link rel="stylesheet" href="/static/css/bootstrap.min.css">
<link rel="stylesheet" href="/static/style.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="/static/js/moment.js"></script>
</head>
<body>
<li class="nav-item">
<a class="nav-link" aria-current="page" href="/admin/user">User</a>
</li>
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="/admin/report">Report</a>
</li>
<li class="nav-item">
<a class="nav-link" onclick="return confirm('Do you want to Logout?')"
href="/admin/logout.php">Logout</a>
</li>
</ul>
</div>
</div>
</nav>
<br>
<form onsubmit="document.getElementById('loader').style.display='block'"
action="/admin/action/report.php" class="row" method="post">
<div class="col-4"></div>
<div class="form-floating mb-3 col-4">
<input required type="text" class="form-control p-1" name="sid" placeholder="Staff
ID">
<label >Department</label>
</div>
<div class="col-4"></div>
<div class="col-4"></div>
<div class="col-4">
<button class="btn w-100"
style="background-color:#2b74e2;color:#fff">Download</button>
</div>
</form>
<br>
</div>
<script>
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
if(urlParams.get('err')){
document.write("<div id='err' style='position:fixed;bottom:30px; right:30px;background-
color:#FF0000;padding:10px;border-radius:10px;box-shadow:2px 2px 4px
#aaa;color:white;font-weight:600'>"+urlParams.get('err')+"</div>")
}
setTimeout(()=>{
document.getElementById("err").style.display="none"
}, 3000)
</script>
<script>
if(urlParams.get('msg')){
document.write("<div id='msg' style='position:fixed;bottom:30px;
right:30px;background-color:#4CAF50;padding:10px;border-radius:10px;box-
shadow:2px 2px 4px
#aaa;color:white;font-weight:600'>"+urlParams.get('msg')+"</div>")
}
setTimeout(()=>{
document.getElementById("msg").style.display="none"
}, 3000)
</script>
<script src="/static/js/bootstrap.bundle.js"></script>
</body>
</html>
User.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Admin</title>
<link rel="stylesheet" href="/static/css/bootstrap.min.css">
<link rel="stylesheet" href="/static/style.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="/static/js/moment.js"></script>
</head>
<body>
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="/admin/user">User</a>
</li>
<li class="nav-item">
<a class="nav-link" aria-current="page" href="/admin/report">Report</a>
</li>
<li class="nav-item">
<a class="nav-link" onclick="return confirm('Do you want to Logout?')"
href="/admin/logout.php">Logout</a>
</li>
</ul>
</div>
</div>
</nav>
<main class="container">
<h3 class="mt-4" style="color:#2b74e2;display:flex;flex-direction:row;justify-
content:space-between">
<span>Staff :</span>
<span>
<button type="button" style="color:#fff;background-color:#2b74e2" class="btn" data-bs-
toggle="modal" data-bs-target="#myModal">
Add
</button>
</span>
</h3>
<div class="modal fade" id="myModal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" style="color:#2b74e2">Add Staff</h4>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<!-- Modal body -->
<div class="modal-body">
<form onsubmit="document.getElementById('loader').style.display='block'"
action="/admin/action/staff.php" method="post">
<div class="form-floating mb-3 ">
<input required type="text" class="form-control" name="name" placeholder="n">
<label >Department Name</label>
</div>
<div class="form-floating mb-3 mt-3">
<input required type="email" class="form-control" name="mail" placeholder="n">
<label >Email</label>
</div>
<div class="form-floating mb-3 mt-3">
<input required type="password" class="form-control" name="passwd"
placeholder="n">
<label >Password</label>
</div>
<div style="display:flex;justify-content:flex-end">
<button class="btn w-25" style="background-color:#2b74e2;color:#fff">Add</button>
</div>
</form>
</div>
</div>
</div>
</div>
<br>
<div class="table-responsive">
<table class="table table-striped table-bordered">
<thead style="text-align:center">
<tr>
<th>#</th>
<th>Department</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center">1</td>
<td>B.Sc (Computer Science)</td>
<td>[email protected]</td>
</tr>
</tbody>
</table>
</div>
<br>
</div>
<script>
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
if(urlParams.get('err')){
document.write("<div id='err' style='position:fixed;bottom:30px; right:30px;background-
color:#FF0000;padding:10px;border-radius:10px;box-shadow:2px 2px 4px
#aaa;color:white;font-weight:600'>"+urlParams.get('err')+"</div>")
}
setTimeout(()=>{
document.getElementById("err").style.display="none"
}, 3000)
</script>
<script>
if(urlParams.get('msg')){
document.write("<div id='msg' style='position:fixed;bottom:30px;
right:30px;background-color:#4CAF50;padding:10px;border-radius:10px;box-
shadow:2px 2px 4px
#aaa;color:white;font-weight:600'>"+urlParams.get('msg')+"</div>")
}
setTimeout(()=>{
document.getElementById("msg").style.display="none"
}, 3000)
</script>
<script src="/static/js/bootstrap.bundle.js"></script>
</body>
</html>
App.py
from flask import Flask, render_template , request , redirect, session
import sqlite3
app = Flask(__name__, static_url_path='/static')
@app.route("/")
def index():
return render_template("index.html")
@app.route("/home")
def home():
return render_template("home.html")
@app.route("/event")
def event():
return render_template("event.html")
@app.route("/admin")
def admin():
return render_template("admin/login.html")
@app.route("/admin/home")
def admin_home():
rows = []
return render_template("admin/home.html",rows = rows)
@app.route("/admin/user")
def admin_user():
rows = []
return render_template("admin/user.html",rows = rows)
@app.route("/admin/report")
def admin_report():
rows = []
return render_template("admin/report.html",rows = rows)
Index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Admin</title>
<link rel="shortcut icon" href="/static/images/favicon.png" type="image/x-icon">
<link rel="stylesheet" href="/static/css/bootstrap.css">
<script src='/static/js/bootstrap.js'></script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://unpkg.com/[email protected]/dist/aos.css" rel="stylesheet">
<script src="https://unpkg.com/[email protected]/dist/aos.js"></script>
</head>
<body style="background-color: #2b74e2;background-position:center;background-repeat:
no-repeat;background-attachment: fixed;background-size: cover;">
<script>
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
if(urlParams.get('err')){
document.write("<div style='position:fixed;bottom:30px; right:30px;background-
color:tomato;padding:10px;border-radius:10px;box-shadow:2px 2px 4px
#aaa;color:white;font-weight:600'>"+urlParams.get('err')+"</div>")
}
setTimeout(()=>{
document.getElementById("err").style.display="none"
}, 5000)
</script>
<div data-aos="zoom-in" class="container" style="margin-top:120px;margin-
bottom:100px;width:500px;max-width:100vw;background-color: white;padding:30px
0px;border-radius: 30px;box-shadow: 2px 2px 8px #ccc;">
<h2 style="text-align: center;color:#2b74e2"><b>Department login</b></h2>
<br>
<form style="margin: 0 20%" action="{{ url_for('admin_login')}}" method="post">
<div class="form-outline mb-4">
<label class="form-label" for="form2Example1">Email :</label>
<input type="email" name="email" class="form-control" required/>
</div>
<div class="form-outline mb-4">
<label class="form-label" for="form2Example2">Password :</label>
<input type="password" name="password" class="form-control" required/>
</div>
<br>
<center>
<button type="submit" class="btn btn-block mb-4"
style="width:100%"><b>Login</b></button>
</center>
</form>
</div>
<style>
button{
background-color: #2b74e2 !important;
color:white !important;
height:45px !important;
font-size:22px !important;
}
.form-control:focus , .form-control:active{
box-shadow: none !important;
}
</style>
<script>
AOS.init();
</script>
</body>
</html>
Home.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Admin</title>
<link rel="stylesheet" href="/static/css/bootstrap.min.css">
<link rel="stylesheet" href="/static/style.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="/static/js/moment.js"></script>
</head>
<body>
<li class="nav-item">
<a class="nav-link" aria-current="page" href="/admin/user">User</a>
</li>
<li class="nav-item">
<a class="nav-link" aria-current="page" href="/admin/report">Report</a>
</li>
<li class="nav-item">
<a class="nav-link" onclick="return confirm('Do you want to Logout?')"
href="/admin/logout.php">Logout</a>
</li>
</ul>
</div>
</div>
</nav>
<script>
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
if(urlParams.get('err')){
document.write("<div id='err' style='position:fixed;bottom:30px; right:30px;background-
color:#FF0000;padding:10px;border-radius:10px;box-shadow:2px 2px 4px
#aaa;color:white;font-weight:600'>"+urlParams.get('err')+"</div>")
}
setTimeout(()=>{
document.getElementById("err").style.display="none"
}, 3000)
</script>
<script>
if(urlParams.get('msg')){
document.write("<div id='msg' style='position:fixed;bottom:30px;
right:30px;background-color:#4CAF50;padding:10px;border-radius:10px;box-
shadow:2px 2px 4px
#aaa;color:white;font-weight:600'>"+urlParams.get('msg')+"</div>")
}
setTimeout(()=>{
document.getElementById("msg").style.display="none"
}, 3000)
</script>
<script src="/static/js/bootstrap.bundle.js"></script>
</body>
</html>
Login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Admin</title>
<link rel="shortcut icon" href="/static/images/favicon.png" type="image/x-icon">
<link rel="stylesheet" href="/static/css/bootstrap.css">
<script src='/static/js/bootstrap.js'></script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://unpkg.com/[email protected]/dist/aos.css" rel="stylesheet">
<script src="https://unpkg.com/[email protected]/dist/aos.js"></script>
</head>
<body style="background-color: #2b74e2;background-position:center;background-repeat:
no-repeat;background-attachment: fixed;background-size: cover;">
<script>
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
if(urlParams.get('err')){
document.write("<div style='position:fixed;bottom:30px; right:30px;background-
color:tomato;padding:10px;border-radius:10px;box-shadow:2px 2px 4px
#aaa;color:white;font-weight:600'>"+urlParams.get('err')+"</div>")
}
setTimeout(()=>{
document.getElementById("err").style.display="none"
}, 5000)
</script>
<div data-aos="zoom-in" class="container" style="margin-top:120px;margin-
bottom:100px;width:500px;max-width:100vw;background-color: white;padding:30px
0px;border-radius: 30px;box-shadow: 2px 2px 8px #ccc;">
<h1 style="text-align: center;color:#2b74e2"><b>Admin</b></h1>
<br>
<form style="margin: 0 20%" action="{{ url_for('admin_login')}}" method="post">
<div class="form-outline mb-4">
<label class="form-label" for="form2Example1">Email :</label>
<input type="email" name="email" class="form-control" required/>
</div>
<div class="form-outline mb-4">
<label class="form-label" for="form2Example2">Password :</label>
<input type="password" name="password" class="form-control" required/>
</div>
<br>
<center>
<button type="submit" class="btn btn-block mb-4"
style="width:100%"><b>Login</b></button>
</center>
</form>
</div>
<style>
button{
background-color: #2b74e2 !important;
color:white !important;
height:45px !important;
font-size:22px !important;
}
.form-control:focus , .form-control:active{
box-shadow: none !important;
}
</style>
<script>
AOS.init();
</script>
</body>
</html>
Report.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Admin</title>
<link rel="stylesheet" href="/static/css/bootstrap.min.css">
<link rel="stylesheet" href="/static/style.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="/static/js/moment.js"></script>
</head>
<body>
<li class="nav-item">
<a class="nav-link" aria-current="page" href="/admin/user">User</a>
</li>
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="/admin/report">Report</a>
</li>
<li class="nav-item">
<a class="nav-link" onclick="return confirm('Do you want to Logout?')"
href="/admin/logout.php">Logout</a>
</li>
</ul>
</div>
</div>
</nav>
<br>
<form onsubmit="document.getElementById('loader').style.display='block'"
action="/admin/action/report.php" class="row" method="post">
<div class="col-4"></div>
<div class="form-floating mb-3 col-4">
<input required type="text" class="form-control p-1" name="sid" placeholder="Staff
ID">
<label >Department</label>
</div>
<div class="col-4"></div>
<div class="col-4"></div>
<div class="col-4">
<button class="btn w-100"
style="background-color:#2b74e2;color:#fff">Download</button>
</div>
</form>
<br>
</div>
<script>
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
if(urlParams.get('err')){
document.write("<div id='err' style='position:fixed;bottom:30px; right:30px;background-
color:#FF0000;padding:10px;border-radius:10px;box-shadow:2px 2px 4px
#aaa;color:white;font-weight:600'>"+urlParams.get('err')+"</div>")
}
setTimeout(()=>{
document.getElementById("err").style.display="none"
}, 3000)
</script>
<script>
if(urlParams.get('msg')){
document.write("<div id='msg' style='position:fixed;bottom:30px;
right:30px;background-color:#4CAF50;padding:10px;border-radius:10px;box-
shadow:2px 2px 4px
#aaa;color:white;font-weight:600'>"+urlParams.get('msg')+"</div>")
}
setTimeout(()=>{
document.getElementById("msg").style.display="none"
}, 3000)
</script>
<script src="/static/js/bootstrap.bundle.js"></script>
</body>
</html>
User.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Admin</title>
<link rel="stylesheet" href="/static/css/bootstrap.min.css">
<link rel="stylesheet" href="/static/style.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="/static/js/moment.js"></script>
</head>
<body>
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="/admin/user">User</a>
</li>
<li class="nav-item">
<a class="nav-link" aria-current="page" href="/admin/report">Report</a>
</li>
<li class="nav-item">
<a class="nav-link" onclick="return confirm('Do you want to Logout?')"
href="/admin/logout.php">Logout</a>
</li>
</ul>
</div>
</div>
</nav>
<main class="container">
<h3 class="mt-4" style="color:#2b74e2;display:flex;flex-direction:row;justify-
content:space-between">
<span>Staff :</span>
<span>
<button type="button" style="color:#fff;background-color:#2b74e2" class="btn" data-bs-
toggle="modal" data-bs-target="#myModal">
Add
</button>
</span>
</h3>
<div class="modal fade" id="myModal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" style="color:#2b74e2">Add Staff</h4>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<!-- Modal body -->
<div class="modal-body">
<form onsubmit="document.getElementById('loader').style.display='block'"
action="/admin/action/staff.php" method="post">
<div class="form-floating mb-3 ">
<input required type="text" class="form-control" name="name" placeholder="n">
<label >Department Name</label>
</div>
<div class="form-floating mb-3 mt-3">
<input required type="email" class="form-control" name="mail" placeholder="n">
<label >Email</label>
</div>
<div class="form-floating mb-3 mt-3">
<input required type="password" class="form-control" name="passwd"
placeholder="n">
<label >Password</label>
</div>
<div style="display:flex;justify-content:flex-end">
<button class="btn w-25" style="background-color:#2b74e2;color:#fff">Add</button>
</div>
</form>
</div>
</div>
</div>
</div>
<br>
<div class="table-responsive">
<table class="table table-striped table-bordered">
<thead style="text-align:center">
<tr>
<th>#</th>
<th>Department</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center">1</td>
<td>B.Sc (Computer Science)</td>
<td>[email protected]</td>
</tr>
</tbody>
</table>
</div>
<br>
</div>
<script>
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
if(urlParams.get('err')){
document.write("<div id='err' style='position:fixed;bottom:30px; right:30px;background-
color:#FF0000;padding:10px;border-radius:10px;box-shadow:2px 2px 4px
#aaa;color:white;font-weight:600'>"+urlParams.get('err')+"</div>")
}
setTimeout(()=>{
document.getElementById("err").style.display="none"
}, 3000)
</script>
<script>
if(urlParams.get('msg')){
document.write("<div id='msg' style='position:fixed;bottom:30px;
right:30px;background-color:#4CAF50;padding:10px;border-radius:10px;box-
shadow:2px 2px 4px
#aaa;color:white;font-weight:600'>"+urlParams.get('msg')+"</div>")
}
setTimeout(()=>{
document.getElementById("msg").style.display="none"
}, 3000)
</script>
<script src="/static/js/bootstrap.bundle.js"></script>
</body>
</html>
App.py
from flask import Flask, render_template , request , redirect, session
import sqlite3
app = Flask(__name__, static_url_path='/static')
@app.route("/")
def index():
return render_template("index.html")
@app.route("/home")
def home():
return render_template("home.html")
@app.route("/event")
def event():
return render_template("event.html")
@app.route("/admin")
def admin():
return render_template("admin/login.html")
@app.route("/admin/home")
def admin_home():
rows = []
return render_template("admin/home.html",rows = rows)
@app.route("/admin/user")
def admin_user():
rows = []
return render_template("admin/user.html",rows = rows)
@app.route("/admin/report")
def admin_report():
rows = []
return render_template("admin/report.html",rows = rows)
Index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Admin</title>
<link rel="shortcut icon" href="/static/images/favicon.png" type="image/x-icon">
<link rel="stylesheet" href="/static/css/bootstrap.css">
<script src='/static/js/bootstrap.js'></script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://unpkg.com/[email protected]/dist/aos.css" rel="stylesheet">
<script src="https://unpkg.com/[email protected]/dist/aos.js"></script>
</head>
<body style="background-color: #2b74e2;background-position:center;background-repeat:
no-repeat;background-attachment: fixed;background-size: cover;">
<script>
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
if(urlParams.get('err')){
document.write("<div style='position:fixed;bottom:30px; right:30px;background-
color:tomato;padding:10px;border-radius:10px;box-shadow:2px 2px 4px
#aaa;color:white;font-weight:600'>"+urlParams.get('err')+"</div>")
}
setTimeout(()=>{
document.getElementById("err").style.display="none"
}, 5000)
</script>
<div data-aos="zoom-in" class="container" style="margin-top:120px;margin-
bottom:100px;width:500px;max-width:100vw;background-color: white;padding:30px
0px;border-radius: 30px;box-shadow: 2px 2px 8px #ccc;">
<h2 style="text-align: center;color:#2b74e2"><b>Department login</b></h2>
<br>
<form style="margin: 0 20%" action="{{ url_for('admin_login')}}" method="post">
<div class="form-outline mb-4">
<label class="form-label" for="form2Example1">Email :</label>
<input type="email" name="email" class="form-control" required/>
</div>
<div class="form-outline mb-4">
<label class="form-label" for="form2Example2">Password :</label>
<input type="password" name="password" class="form-control" required/>
</div>
<br>
<center>
<button type="submit" class="btn btn-block mb-4"
style="width:100%"><b>Login</b></button>
</center>
</form>
</div>
<style>
button{
background-color: #2b74e2 !important;
color:white !important;
height:45px !important;
font-size:22px !important;
}
.form-control:focus , .form-control:active{
box-shadow: none !important;
}
</style>
<script>
AOS.init();
</script>
</body>
</html>
Home.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Admin</title>
<link rel="stylesheet" href="/static/css/bootstrap.min.css">
<link rel="stylesheet" href="/static/style.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="/static/js/moment.js"></script>
</head>
<body>
<li class="nav-item">
<a class="nav-link" aria-current="page" href="/admin/user">User</a>
</li>
<li class="nav-item">
<a class="nav-link" aria-current="page" href="/admin/report">Report</a>
</li>
<li class="nav-item">
<a class="nav-link" onclick="return confirm('Do you want to Logout?')"
href="/admin/logout.php">Logout</a>
</li>
</ul>
</div>
</div>
</nav>
<script>
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
if(urlParams.get('err')){
document.write("<div id='err' style='position:fixed;bottom:30px; right:30px;background-
color:#FF0000;padding:10px;border-radius:10px;box-shadow:2px 2px 4px
#aaa;color:white;font-weight:600'>"+urlParams.get('err')+"</div>")
}
setTimeout(()=>{
document.getElementById("err").style.display="none"
}, 3000)
</script>
<script>
if(urlParams.get('msg')){
document.write("<div id='msg' style='position:fixed;bottom:30px;
right:30px;background-color:#4CAF50;padding:10px;border-radius:10px;box-
shadow:2px 2px 4px
#aaa;color:white;font-weight:600'>"+urlParams.get('msg')+"</div>")
}
setTimeout(()=>{
document.getElementById("msg").style.display="none"
}, 3000)
</script>
<script src="/static/js/bootstrap.bundle.js"></script>
</body>
</html>
Login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Admin</title>
<link rel="shortcut icon" href="/static/images/favicon.png" type="image/x-icon">
<link rel="stylesheet" href="/static/css/bootstrap.css">
<script src='/static/js/bootstrap.js'></script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://unpkg.com/[email protected]/dist/aos.css" rel="stylesheet">
<script src="https://unpkg.com/[email protected]/dist/aos.js"></script>
</head>
<body style="background-color: #2b74e2;background-position:center;background-repeat:
no-repeat;background-attachment: fixed;background-size: cover;">
<script>
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
if(urlParams.get('err')){
document.write("<div style='position:fixed;bottom:30px; right:30px;background-
color:tomato;padding:10px;border-radius:10px;box-shadow:2px 2px 4px
#aaa;color:white;font-weight:600'>"+urlParams.get('err')+"</div>")
}
setTimeout(()=>{
document.getElementById("err").style.display="none"
}, 5000)
</script>
<div data-aos="zoom-in" class="container" style="margin-top:120px;margin-
bottom:100px;width:500px;max-width:100vw;background-color: white;padding:30px
0px;border-radius: 30px;box-shadow: 2px 2px 8px #ccc;">
<h1 style="text-align: center;color:#2b74e2"><b>Admin</b></h1>
<br>
<form style="margin: 0 20%" action="{{ url_for('admin_login')}}" method="post">
<div class="form-outline mb-4">
<label class="form-label" for="form2Example1">Email :</label>
<input type="email" name="email" class="form-control" required/>
</div>
<div class="form-outline mb-4">
<label class="form-label" for="form2Example2">Password :</label>
<input type="password" name="password" class="form-control" required/>
</div>
<br>
<center>
<button type="submit" class="btn btn-block mb-4"
style="width:100%"><b>Login</b></button>
</center>
</form>
</div>
<style>
button{
background-color: #2b74e2 !important;
color:white !important;
height:45px !important;
font-size:22px !important;
}
.form-control:focus , .form-control:active{
box-shadow: none !important;
}
</style>
<script>
AOS.init();
</script>
</body>
</html>
Report.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Admin</title>
<link rel="stylesheet" href="/static/css/bootstrap.min.css">
<link rel="stylesheet" href="/static/style.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="/static/js/moment.js"></script>
</head>
<body>
<li class="nav-item">
<a class="nav-link" aria-current="page" href="/admin/user">User</a>
</li>
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="/admin/report">Report</a>
</li>
<li class="nav-item">
<a class="nav-link" onclick="return confirm('Do you want to Logout?')"
href="/admin/logout.php">Logout</a>
</li>
</ul>
</div>
</div>
</nav>
<br>
<form onsubmit="document.getElementById('loader').style.display='block'"
action="/admin/action/report.php" class="row" method="post">
<div class="col-4"></div>
<div class="form-floating mb-3 col-4">
<input required type="text" class="form-control p-1" name="sid" placeholder="Staff
ID">
<label >Department</label>
</div>
<div class="col-4"></div>
<div class="col-4"></div>
<div class="col-4">
<button class="btn w-100"
style="background-color:#2b74e2;color:#fff">Download</button>
</div>
</form>
<br>
</div>
<script>
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
if(urlParams.get('err')){
document.write("<div id='err' style='position:fixed;bottom:30px; right:30px;background-
color:#FF0000;padding:10px;border-radius:10px;box-shadow:2px 2px 4px
#aaa;color:white;font-weight:600'>"+urlParams.get('err')+"</div>")
}
setTimeout(()=>{
document.getElementById("err").style.display="none"
}, 3000)
</script>
<script>
if(urlParams.get('msg')){
document.write("<div id='msg' style='position:fixed;bottom:30px;
right:30px;background-color:#4CAF50;padding:10px;border-radius:10px;box-
shadow:2px 2px 4px
#aaa;color:white;font-weight:600'>"+urlParams.get('msg')+"</div>")
}
setTimeout(()=>{
document.getElementById("msg").style.display="none"
}, 3000)
</script>
<script src="/static/js/bootstrap.bundle.js"></script>
</body>
</html>
User.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Admin</title>
<link rel="stylesheet" href="/static/css/bootstrap.min.css">
<link rel="stylesheet" href="/static/style.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="/static/js/moment.js"></script>
</head>
<body>
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="/admin/user">User</a>
</li>
<li class="nav-item">
<a class="nav-link" aria-current="page" href="/admin/report">Report</a>
</li>
<li class="nav-item">
<a class="nav-link" onclick="return confirm('Do you want to Logout?')"
href="/admin/logout.php">Logout</a>
</li>
</ul>
</div>
</div>
</nav>
<main class="container">
<h3 class="mt-4" style="color:#2b74e2;display:flex;flex-direction:row;justify-
content:space-between">
<span>Staff :</span>
<span>
<button type="button" style="color:#fff;background-color:#2b74e2" class="btn" data-bs-
toggle="modal" data-bs-target="#myModal">
Add
</button>
</span>
</h3>
<div class="modal fade" id="myModal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" style="color:#2b74e2">Add Staff</h4>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<!-- Modal body -->
<div class="modal-body">
<form onsubmit="document.getElementById('loader').style.display='block'"
action="/admin/action/staff.php" method="post">
<div class="form-floating mb-3 ">
<input required type="text" class="form-control" name="name" placeholder="n">
<label >Department Name</label>
</div>
<div class="form-floating mb-3 mt-3">
<input required type="email" class="form-control" name="mail" placeholder="n">
<label >Email</label>
</div>
<div class="form-floating mb-3 mt-3">
<input required type="password" class="form-control" name="passwd"
placeholder="n">
<label >Password</label>
</div>
<div style="display:flex;justify-content:flex-end">
<button class="btn w-25" style="background-color:#2b74e2;color:#fff">Add</button>
</div>
</form>
</div>
</div>
</div>
</div>
<br>
<div class="table-responsive">
<table class="table table-striped table-bordered">
<thead style="text-align:center">
<tr>
<th>#</th>
<th>Department</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center">1</td>
<td>B.Sc (Computer Science)</td>
<td>[email protected]</td>
</tr>
</tbody>
</table>
</div>
<br>
</div>
<script>
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
if(urlParams.get('err')){
document.write("<div id='err' style='position:fixed;bottom:30px; right:30px;background-
color:#FF0000;padding:10px;border-radius:10px;box-shadow:2px 2px 4px
#aaa;color:white;font-weight:600'>"+urlParams.get('err')+"</div>")
}
setTimeout(()=>{
document.getElementById("err").style.display="none"
}, 3000)
</script>
<script>
if(urlParams.get('msg')){
document.write("<div id='msg' style='position:fixed;bottom:30px;
right:30px;background-color:#4CAF50;padding:10px;border-radius:10px;box-
shadow:2px 2px 4px
#aaa;color:white;font-weight:600'>"+urlParams.get('msg')+"</div>")
}
setTimeout(()=>{
document.getElementById("msg").style.display="none"
}, 3000)
CHAPTER 7
TESTING
SYSTEM TESTING
TYPES OF TESTS:
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:
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.
PERFORMANCE TESTING:
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.
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.
ACCEPTANCE TESTING:
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
CHAPTER 8
CONCLUSION
CHAPTER 9
FUTURE ENHANCEMENT
In future the work of instant messaging and further module development can be
done which will make our project fully automated and also more reliable software for the
event should be provided. Users would be able to book the ticket and pay for it through
internet-banking facility. Also, students from other college will be given the access to
participate and book the event they want to participate without manually registering for
the event. Near future, Admin will upload the videos of the fest and students will be given
permission to access, like and comment on it for better conduction of fest next year.
CHAPTER 10
REFERENCES