Event Management System
Event Management System
1. INTRODUCTION---------------------------------------------------------------*
2. ANALYSIS----------------------------------------------------------------------
**
2.1 EXISTING SYSTEM--------------------------------------------**
2.2 PROPOSED SYSTEM------------------------------------**
2.3 SYSTEM CONFIGURATION -----------------------------**
3. FEASIBILITY STUDY-------------------------------------------------------
**
3.1 TECHNICAL FEASIBILITY------------------------------------
**
3.2 ECONOMICAL FEASIBILITY---------------------------------
**
3.3 OPERATIONAL FEASIBILITY--------------------------------
**
4. DESIGN APPROACH-----------------------------------------------------**
4.1 INTRODUCTION TO DESIGN -------------------------------**
4.2 UML DIAGRAMS----------------------------------------------- **
4.3 DATA FLOW DIAGRAMS-------------------------------------**
4.4 E-R DIAGRAMS-------------------------------------------------**
5. PROJECT MODULES----------------------------------------------------**
6. IMPLEMENTATION-----------------------------------------------------**
6.1 CONCEPTS AND TECHNIQUES----------------------------**
7. TESTING--------------------------------------------------------------------**
7.1 TEST CASES-----------------------------------------------------**
8. SOURCE CODE------------------------------------------------------------**
9. OUTPUT SCREENS ------------------------------------------------------**
10. CONCLUSION------------------------------------------------------------**
11. FUTURE ENHANCEMENTS------------------------------------------**
12. BIBILIOGRAPHY--------------------------------------------------------**
INTRODUCTION
2.SYSTEM ANALYSIS
Processor - Inter i3
Memory - 512 MB RAM
Keyboard - 105 Keys
Monitor - CRT or LCD
Mouse - USB mouse or PS/2 mouse
SOFTWARE SPECIFICATION:
Operating System : Windows XP/NT,
Front End : HTML, CSS, JavaScript
Back End : DJANGO
Documentation : MS Word
3. FEASIBILITY STUDY:
The system has been tested for feasibility in the following points.
1. Technical Feasibility
2. Economical Feasibility
3. Operational Feasibility.
1. Technical Feasibility
2. Economical Feasibility
3. Operational Feasibility
The importance can be stated with a single word “Quality”. Design is the
place where quality is fostered in software development. Design provides us
with representations of software that can assess for quality. Design is the only
way that we can accurately translate a customer’s view into a finished software
product or system. Software design serves as a foundation for all the software
engineering steps that follow. Without a strong design we risk building an
unstable system – one that will be difficult to test, one whose quality cannot be
assessed until the last stage. The purpose of the design phase is to plan a
solution of the problem specified by the requirement document. This phase is
the first step in moving from the problem domain to the solution domain. In
other words, starting with what is needed, design takes us toward how to satisfy
the needs. The design of a system is perhaps the most critical factor affection
the quality of the software; it has a major impact on the later phase, particularly
testing, maintenance. The output of this phase is the design document. This
document is similar to a blueprint for the solution and is used later during
implementation, testing and maintenance. The design activity is often divided
into two separate phases System Design and Detailed Design.
System Design also called top-level design aims to identify the modules
that should be in the system, the specifications of these modules, and how
they interact with each other to produce the desired results. At the end of
the system design all the major data structures, file formats, output formats,
and the major modules in the system and their specifications are decided.
During, Detailed Design, the internal logic of each of the modules specified
in system design is decided. During this phase, the details of the data of a
module is usually specified in a high-level design description language,
which is independent of the target language in which the software will
eventually be implemented.
In system design the focus is on identifying the modules, whereas during
detailed design the focus is on designing the logic for each of the modules.
In other works, in system design the attention is on what components are
needed, while in detailed design how the components can be implemented
in software is the issue.
Design is concerned with identifying software components specifying
relationships among components. Specifying software structure and
providing blue print for the document phase. Modularity is one of the
desirable properties of large systems. It implies that the system is divided
into several parts. In such a manner, the interaction between parts is
minimal clearly specified.
During the system design activities, Developers bridge the gap between the
requirements specification, produced during requirements elicitation and
analysis, and the system that is delivered to the user.
Design is the place where the quality is fostered in development. Software
design is a process through which requirements are translated into a
representation of software.
2. Process: People, procedures, or devices that use or produce (Transform) Data. The
physical component is not identified.
Active Class
Active classes initiate and control the flow of activity, while passive classes
store data and serve other classes. Illustrate active classes with a thicker
border.
Visibility
Use visibility markers to signify who can access the information contained
within a class. Private visibility hides information from anything outside the
class partition. Public visibility allows all other classes to view the marked
information. Protected visibility allows child classes to access information
they inherited from a parent class. .
Associations
Associations represent static relationships between classes. Place association
names above, on, or below the association line. Use a filled arrow to
indicate the direction of the relationship. Place roles near the end of an
association. Roles represent the way the two classes see each other.
Note: It's uncommon to name both the association and the class roles.
Multiplicity (Cardinality)
Place multiplicity notations near the ends of an association. These symbols
indicate the number of instances of one class linked to one instance of the
other class. For example, one company will have one or more employees,
but each employee works for one company only.
Constraint
Place constraints inside curly braces {}.
Simple Constraint
Composition and Aggregation
Composition is a special type of aggregation that denotes a strong ownership
between Class A, the whole, and Class B, its part. Illustrate composition
with a filled diamond. Use a hollow diamond to represent a simple
aggregation relationship, in which the "whole" class plays a more important
role than the "part" class, but the two classes are not dependent on each
other. The diamond end in both a composition and aggregation relationship
points toward the "whole" class or the aggregate
Generalization
Generalization is another name for inheritance or an "is a" relationship. It refers
to a relationship between two classes where one class is a specialized
version of another. For example, Honda is a type of car. So the class Honda
would have a generalization relationship with the class car.
In real life coding examples, the difference between inheritance and aggregation
can be confusing. If you have an aggregation relationship, the aggregate (the
whole) can access only the PUBLIC functions of the part class. On the other
hand, inheritance allows the inheriting class to access both the PUBLIC and
PROTECTED functions of the super class.
What is a UML Use Case Diagram?
Use case diagrams model the functionality of a system using actors and use
cases. Use cases are services or functions provided by the system to its
users.
Basic Use Case Diagram Symbols and Notations
System
Draw your system's boundaries using a rectangle that contains use cases. Place
actors outside the system's boundaries.
Use Case
Draw use cases using ovals. Label with ovals with verbs that represent the
system's functions.
Actors
Actors are the users of a system. When one system is the actor of another
system, label the actor system with the actor stereotype.
Relationships
Illustrate relationships between an actor and a use case with a simple line. For
relationships among use cases, use arrows labeled either "uses" or
"extends." A "uses" relationship indicates that one use case is needed by
another in order to perform a task. An "extends" relationship indicates
alternative options under a certain use case.
Sequence Diagram
Sequence diagrams describe interactions among classes in terms of an exchange
of messages over time.
Basic Sequence Diagram Symbols and Notations
Class roles
Class roles describe the way an object will behave in context. Use the UML
object symbol to illustrate class roles, but don't list object attributes.
Activation
Activation boxes represent the time an object needs to complete a task.
Messages
Messages are arrows that represent communication between objects. Use half-
arrowed lines to represent asynchronous messages. Asynchronous messages
are sent from an object that will not wait for a response from the receiver
before continuing its tasks.
Loops
A repetition or loop within a sequence diagram is depicted as a rectangle. Place
the condition for exiting the loop at the bottom left corner in square brackets
[ ].
Collaboration Diagram
A collaboration diagram describes interactions among objects in terms of
sequenced messages. Collaboration diagrams represent a combination of
information taken from class, sequence, and use case diagrams describing
both the static structure and dynamic behavior of a system.
Association roles
Association roles describe how an association will behave given a particular
situation. You can draw association roles using simple lines labeled with
stereotypes.
Messages
Unlike sequence diagrams, collaboration diagrams do not have an explicit way
to denote time and instead number messages in order of execution.
Sequence numbering can become nested using the Dewey decimal system.
For example, nested messages under the first message are labeled 1.1, 1.2,
1.3, and so on. The a condition for a message is usually placed in square
brackets immediately following the sequence number. Use a * after the
sequence number to indicate a loop.
Learn how to add arrows to your lines.
Activity Diagram
An activity diagram illustrates the dynamic nature of a system by modeling the
flow of control from activity to activity. An activity represents an operation
on some class in the system that results in a change in the state of the
system. Typically, activity diagrams are used to model workflow or
business processes and internal operation. Because an activity diagram is a
special kind of state chart diagram, it uses some of the same modeling
conventions.
Action Flow
Action flow arrows illustrate the relationships among action states.
Object Flow
Object flow refers to the creation and modification of objects by activities. An
object flow arrow from an action to an object means that the action creates
or influences the object. An object flow arrow from an object to an action
indicates that the action state uses the object.
Initial State
A filled circle followed by an arrow represents the initial action state.
Final State
An arrow pointing to a filled circle nested inside another circle represents the
final action state.
Branching
A diamond represents a decision with alternate paths. The outgoing alternates
should be labeled with a condition or guard expression. You can also label
one of the paths "else."
Synchronization
A synchronization bar helps illustrate parallel transitions. Synchronization is
also called forking and joining.
Swimlanes
Swimlanes group related activities into one column.
State chart Diagram
A state chart diagram shows the behavior of classes in response to external
stimuli. This diagram models the dynamic flow of control from state to state
within a system.
Basic State chart Diagram Symbols and Notations
States
States represent situations during the life of an object. You can easily illustrate a
state in Smart Draw by using a rectangle with rounded corners.
Transition
A solid arrow represents the path between different states of an object. Label the
transition with the event that triggered it and the action that results from it.
Initial State
A filled circle followed by an arrow represents the object's initial state.
Final State
An arrow pointing to a filled circle nested inside another circle represents the
object's final state.
Component
A component is a physical building block of the system. It is represented as a
rectangle with tabs.
Learn how to resize grouped objects like components.
Interface
An interface describes a group of operations used or created by components.
Dependencies
Draw dependencies among components using dashed arrows.
Learn about line styles in SmartDraw.
COMPONENT DIAGRAM:
What is a UML Deployment Diagram?
Deployment diagrams depict the physical resources in a system including
nodes, components, and connections.
Basic Deployment Diagram Symbols and Notations
Component
A node is a physical resource that executes code components.
Learn how to resize grouped objects like nodes.
Association
Association refers to a physical connection between nodes, such as Ethernet.
Learn how to connect two nodes.
Activity Diagram
Sequence Diagram
5. Project Modules
PHP
USAGE
HTML
NAMING CONVENTION
HTML APPLICATION
ABOUT JAVASCRIPT
PROTOTYPE-BASED
JavaScript uses prototypes instead of classes for inheritance. It is
possible to simulate many class-based features with prototypes in JavaScript.
Functions double as object constructors along with their typical role.
Prefixing a function call with new creates a new object and calls that function
with its local this keyword bound to that object for that invocation. The
constructor's prototype property determines the object used for the new object's
internal prototype. JavaScript's built-in constructors, such as Array, also have
prototypes that can be modified.
Unlike many object-oriented languages, there is no distinction between a
function definition and a method definition. Rather, the distinction occurs
during function calling; a function can be called as a method. When a function
is called as a method of an object, the function's local this keyword is bound to
that object for that invocation.
USAGE
ABOUT MySQL
MySQL Introduction
There are a large number of database management systems currently
available, some commercial and some free.
Some of them : Oracle, Microsoft Access, Mysql and PostgreSQL.
These database systems are powerful, feature-rich software, capable of
organizing and searching millions of records at very high speeds.
You already know that a single database can hold multiple tables.
In a Relational database management system(RDBMS), these tables can be
linked to each other by one or more common fields, called foreign keys.
Implementation:
The system can be implemented only after thorough testing is done and if it is
found to work according to the specification.
The more complex the system being implemented, the more involved will
be the systems analysis and design effort required just for implementation.
Correction
Adaptation
Enhancement
Prevention
Correction:
Even with the best quality assurance activities is lightly that the
customer will uncover defects in the software. Corrective maintenance
changes the software to correct defects.
Corrective Maintenance
Adaptive Maintenance
Perfective Maintenance or Enhancement
Preventive Maintenance or reengineering
Adaptation:
Enhancement:
Prevention :
Computer software deteriorates due to change, and because of this,
preventive maintenance, often called software re engineering, must be
conducted to enable the software to serve the needs of its end users. In
essence, preventive maintenance makes changes to computer programs so
that they can be more easily corrected, adapted, and enhanced. Software
configuration management (SCM) is an umbrella activity that is applied
throughout the software process. SCM activities are developed to
SOFTWARE METHODOLOGY
The basic idea of the system development life cycle is that there is a well-
defined process by which an application is conceived and developed and
implemented. The life cycle gives structure to a creative process. In order to
manage and control the development effort, it is necessary to know what should
have been done, what has been done, and what has yet to be accomplished. The
phrases in the system development life cycle provide a basis for management
and control because they define segments of the
flow of work, which can be identified for managerial purposes and specifies the
documents or other deliverables to be produced in each phase.
The phases in the life cycle for information system development are
described differently by different writers, but the differences are primarily in the
amount of necessity and manner of categorization. There is a general agreement
on the flow of development steps and the necessity for control procedures at
each stage.
1)Definition.
2)Development.
3)Installation and operation.
The first stage of the process, which defines the information requirements for a
feasible cost effective system. The requirements are then translated into a
physical system of forms, procedures, programs etc., by the system design,
computer programming and procedure development. The resulting system is test
and put into operation. No system is perfect so there is always a need for
maintenance changes. To complete the cycle, there should be a post audit of the
system to evaluate how well it performs and how well it meets the cost and
performance specifications. The stages of definition, development and
installation and operation can therefore be divided into smaller steps or phrases
as follows.
Definition
Design
Conceptual design : User-oriented design of application development.
Physical system design : Detailed design of flows and processes in
applications processing system and preparation of program specification.
Development
Program development : coding and testing of computer programs.
Procedure development : design of procedures and preparation of user
instructions.
7. TESTING:
Testing is a process of executing a program with the indent of finding an
error. Testing is a crucial element of software quality assurance and presents
ultimate review of specification, design and coding.
Testing Objectives:
Testing Principles
The primary objective for test case design is to derive a set of tests that has
the highest livelihood for uncovering defects in software.
Testing strategies:
A strategy for software testing must accommodate low-level tests that are
necessary to verify that all small source code segment has been correctly
implemented as well as high-level tests that validate major system functions
against customer requirements.
Testing fundamentals:
Test configuration includes test plan and test cases and test tools. Tests
are conducted and all the results are evaluated. That is test results are compared
with expected results. When erroneous data are uncovered, an error is implied
and debugging commences.
Unit testing:
Unit testing is essential for the verification of the code produced during
the coding phase and hence the goal is to test the internal logic of the modules.
Using the detailed design description as a guide, important paths are tested to
uncover errors with in the boundary of the modules. These tests were carried
out during the programming stage itself. All units of ViennaSQL were
successfully tested.
Integration testing :
Integration testing focuses on unit tested modules and build the program
structure that is dictated by the design phase.
System testing:
System testing tests the integration of each module in the system. It also
tests to find discrepancies between the system and it’s original objective, current
specification and system documentation. The primary concern is the
compatibility of individual modules. Entire system is working properly or not
will be tested here, and specified path ODBC connection will correct or not, and
giving output or not are tested here these verifications and validations are done
by giving input values to the system and by comparing with expected output.
Top-down testing implementing here.
Acceptance Testing:
This testing is done to verify the readiness of the system for the implementation.
Acceptance testing begins when the system is complete. Its purpose is to
provide the end user with the confidence that the system is ready for use. It
involves planning and execution of functional tests, performance tests and stress
tests in order to demonstrate that the implemented system satisfies its
requirements.
Tools to special importance during acceptance testing include:
Test coverage Analyzer – records the control paths followed for each test case.
Timing Analyzer – also called a profiler, reports the time spent in various
regions of the code are areas to concentrate on to improve system performance.
Coding standards – static analyzers and standard checkers are used to inspect
code for deviations from standards and guidelines.
FUNCTIONAL TEST
In this type of testing, the software is tested for the functional requirements.
The tests are written in order to check if the application behaves as
expected. Although functional testing is often done toward the end of the
development cycle, it can—and should, —be started much earlier.
Individual components and processes can be tested early on, even before it's
possible to do functional testing on the entire system. Functional testing
covers how well the system executes the
PERFOMANCE TEST
random nature of the workload and while the test workloads do their best to
mimic what may happen in the production environment, it is impossible to
exactly replicate this workload variability - except in the simplest system.
STRESS TEST
STRUCTURE TEST
VALIDATION TEST
OUTPUT TEST
In this output is tested by entering sample data and checking out for its
efficiency.
In this type of testing, the software is handed over to the user in order to
find out if the software meets the user expectations and works as it is
expected to. In software development, user acceptance testing (UAT) - also
called beta testing, application testing, and end user testing - is a phase of
software development in which the software is tested in the "real world" by
the intended audience. UAT can be done by in-house testing in which
volunteers or paid test subjects use the software or, more typically for
widely-distributed software, by making the test version available for
downloading and free trial over the Web. The experiences of the early users
are forwarded back to the developers who make final changes before
releasing the software commercially
CHANGE OVER PLAN
Testing commences with a test plan and terminates with acceptance testing.
A test plan is a general document for the entire project that defines the scope, approach
to be taken, and the schedule of testing as well as identifies the test items for the entire
testing process and the personnel responsible for the different activities of testing.
Test Cases:
Test cases are derived to ensure that all statements in the program have
been executed at least once during testing and that all logical conditions have
been executed.
Using White-Box testing methods, the software engineer can drive test cases
that
Guarantee that logical decisions on their true and false sides.
Exercise all logical decisions on their true and false sides.
Execute all loops at their boundaries and with in their operational bounds.
Exercise internal data structure to assure their validity.
The test case specification for system testing has to be submitted for review
before system testing commences.
SOURCE CODES
Index.php
<!DOCTYPE html>
<html lang="en">
<?php
session_start();
include('admin/db_connect.php');
ob_start();
$query = $conn->query("SELECT * FROM system_settings limit 1")-
>fetch_array();
foreach ($query as $key => $value) {
if(!is_numeric($key))
$_SESSION['system'][$key] = $value;
}
ob_end_flush();
include('header.php');
?>
<style>
header.masthead {
background: url(admin/assets/uploads/<?php echo
$_SESSION['system']['cover_img'] ?>);
background-repeat: no-repeat;
background-size: cover;
}
#viewer_modal .btn-close {
position: absolute;
z-index: 999999;
/*right: -4.5em;*/
background: unset;
color: white;
border: unset;
font-size: 27px;
top: 0;
}
#viewer_modal .modal-dialog {
width: 80%;
max-width: unset;
height: calc(90%);
max-height: unset;
}
#viewer_modal .modal-content {
background: black;
border: unset;
height: calc(100%);
display: flex;
align-items: center;
justify-content: center;
}
#viewer_modal img,#viewer_modal video{
max-height: calc(100%);
max-width: calc(100%);
}
body, footer {
background: #000000e6 !important;
}
</style>
<body id="page-top">
<!-- Navigation-->
<div class="toast" id="alert_toast" role="alert" aria-live="assertive" aria-
atomic="true">
<div class="toast-body text-white">
</div>
</div>
<nav class="navbar navbar-expand-lg navbar-light fixed-top py-3"
id="mainNav">
<div class="container">
<a class="navbar-brand js-scroll-trigger" href="./"><?php echo
$_SESSION['system']['name'] ?></a>
<button class="navbar-toggler navbar-toggler-right" type="button"
data-toggle="collapse" data-target="#navbarResponsive" aria-
controls="navbarResponsive" aria-expanded="false" aria-label="Toggle
navigation"><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ml-auto my-2 my-lg-0">
<li class="nav-item"><a class="nav-link js-scroll-trigger"
href="index.php?page=home">Home</a></li>
<li class="nav-item"><a class="nav-link js-scroll-trigger"
href="index.php?page=venue">Venues</a></li>
<li class="nav-item"><a class="nav-link js-scroll-trigger"
href="index.php?page=about">About</a></li>
</ul>
</div>
</div>
</nav>
<?php
$page = isset($_GET['page']) ?$_GET['page'] : "home";
include $page.'.php';
?>
</html>
Events.php
<?php include('db_connect.php');?>
<div class="container-fluid">
<div class="col-lg-12">
<div class="row mb-4 mt-4">
<div class="col-md-12">
</div>
</div>
<div class="row">
<!-- FORM Panel -->
</td>
<td>
<p
class="truncate"><?php echo strip_tags($desc) ?></p>
</td>
<td class="text-
center">
<button
class="btn btn-sm btn-outline-warning view_event" type="button" data-id="<?
php echo $row['id'] ?>" >View</button>
<button
class="btn btn-sm btn-outline-success edit_event" type="button" data-id="<?
php echo $row['id'] ?>" >Edit</button>
<button
class="btn btn-sm btn-outline-danger delete_event" type="button" data-id="<?
php echo $row['id'] ?>">Delete</button>
</td>
</tr>
<?php endwhile; ?>
</tbody>
</table>
</div>
</div>
</div>
<!-- Table Panel -->
</div>
</div>
</div>
<style>
td{
vertical-align: middle !important;
}
td p{
margin: unset
}
img{
max-width:100px;
max-height: :150px;
}
</style>
<script>
$(document).ready(function(){
$('table').dataTable()
})
$('.view_event').click(function(){
location.href ="index.php?page=view_event&id="+$
(this).attr('data-id')
})
$('.edit_event').click(function(){
location.href ="index.php?page=manage_event&id="+$
(this).attr('data-id')
})
$('.delete_event').click(function(){
_conf("Are you sure to delete this event?","delete_event",[$
(this).attr('data-id')])
})
function delete_event($id){
start_load()
$.ajax({
url:'ajax.php?action=delete_event',
method:'POST',
data:{id:$id},
success:function(resp){
if(resp==1){
alert_toast("Data successfully
deleted",'success')
setTimeout(function(){
location.reload()
},1500)
}
}
})
}
</script>
9. Screentshots
10. Conclusion
4. www.w3schools.com/
5. Tutorialspoint.com
6. Learncodeonline.com