PROJECT
PROJECT
Submitted to
Submitted by
HARESH B
the Guidance of
MRS. K. GOWRI
MAY 2022
DECLARATION
I thank the Almighty for giving me the confidence and strength for the
successful completion of the Main Project.
I thank our Honorable Principal Dr. M. G. Ragunathan M.Sc., M.Phil.,
Ph.D., FIAAB, FZSI, FSLSc, FSAB, FIAES, FICCB, FMSET, FIASN,
PGDESD and our Management for providing a dynamic atmosphere for pursing
our course.
I convey my sincere thanks to the Controller of Examination Dr. P.V.
Kumaraguru, M.Sc. (CS), M.B.A., M.C.A., M.Phil., Ph.D., for his
guidance and support. I also convey my sincere thanks to the Dean IT Mrs. S.
Nirmala Devi, MCA, M.Phil., SET for her guidance and support.
I also take this opportunity to express my heartfelt thanks to our Head of the
Department Dr. R.Rajini Surendranath, M.C.A., M.Phil., HDISM., Ph.D. for
always being a source of guidance and inspiration and for her valuable guidance
and who has always been the source and support for visualization and guidance of
this Project.
HARESH B
TABLE OF CONTENT
S.NO PARTICULARS PAGE NO
1 INTRODUCTION 1
2 SYSTEM ANALYSIS 2
3 SYSTEM DESIGN 6
4 13
SYSTEM DEVELOPMENT
4.2 Coding 24
6 80
SYSTEM TESTING AND VALIDATION
8 CONCLUSION & FUTURE ENHANCEMENT 89
9 91
BIBLIOGRAPHY
CHAPTER 1
INTRODUCTION:
1
CHAPTER 2
SYSTEM ANALYSIS
2
2.3 System Requirements
The feasibility of the project is analyzed in this phase and business proposal is put
forth with a very general plan for the project and some cost estimates. During
system analysis the feasibility study of the proposed system is to be carried out.
This is to ensure that the proposed system is not a burden to the company. For
feasibility analysis, some understanding of the major
requirements for the system is essential.
Three key considerations in the feasibility analysis are
3
• ECONOMICAL FEASIBILITY
• TECHNICAL FEASIBILITY
• SOCIAL FEASIBILITY
ECONOMICAL FEASIBILITY
This study is carried out to check the economic impact that the system will have on
the organization. The amount of fund that the company can pour into the research
and development of the system is limited. The expenditures must be justified. Thus
the developed system as well within the budget and this was achieved because
most of the technologies used are freely available. Only the customized products
had to be purchased
TECHNICAL FEASIBILITY
This study is carried out to check the technical feasibility, that is, the technical
requirements of the system. Any system developed must not have a high demand
on the available technical resources. This will lead to high demands on the
available technical resources. This will lead to high demands being placed on the
client. The developed system must have a modest requirement, as only minimal or
null changes are required for implementing this system
4
SOCIAL FEASIBILITY
The aspect of study is to check the level of acceptance of the system by the user.
This includes the process of training the user to use the system efficiently. The user
must not feel threatened by the system, instead must accept it as a necessity. The
level of acceptance by the users solely depends on the methods that are employed
to educate the user about the system and to make him familiar with it. His level of
confidence must be raised so that he is also able to make some constructive
criticism, which is welcomed, as he is the final user of the system.
5
CHAPTER 3
SYSTEM DESIGN
6
5. Default values for fields and answers to be entered by the user should be
specified.
6. A user should not be allowed to proceed without correcting an error.
7. The system user should never get an operating system message or fatal
error.
System design is concerned with how the system functionalities are
provided by different components of the system. System design tools such as:
DFDs, EERDs were used in the development of the system and its database
respectively. Data Flow Diagrams These are tools for structured analysis that
examine inputs, outputs, and processes.
They show how data moves and changes through a specified system in a
graphical lop-clown fashion that is a graphical representation of a system’s
components, processes and the interfaces between them. They represent a logical
model that shows what a system does, not how it does it; stressing the flow of data
within a system Enhanced Entity Relationship Modeling Concepts Concepts
employed are: Specialization Generalization This is the modeling of superclasses
and subclasses that adds more information to the data model, as well as bringing
more complexity to database system development.
Specialization is the process of maximizing the differences between
members of an entity by identifying their distinguishing characteristics
Generalization is the process of minimizing the differences between entities by
identifying their common characteristics. The models V that are illustrated below
have a constraint {Mandatory, Or} implying that from the superclasses: Supplier,
there exist only the stated subclasses and the corresponding instances of these
given subclasses can only belong to one particular subclass.
7
3.1 FUNCTIONAL FLOW DIAGRAM:
1. Process names, file names and Data flows names must be meaningful in the
context of the problem
2. Data should be conserved. A process can't create the new data. It can only
transform input data to create output data parallel to any data retrieved from file
that must have been stored in it earlier.
3. Data flow should not act as a signal to activate or initialize the process.
8
DFD is not a flowchart. It represents the flow of data, while flowchart shows the
flow of control. One way to construct a DFD is to start by identifying the major
inputs and outputs to the process.
Minor inputs and outputs should be ignored first. Then starting frominputs, work
towards the outputs identifying the major transforms in the way. An altemative is
to work down from output towards the inputs.
9
LEVEL 0
10
LEVEL 1
11
3.3 Database Design
The most important aspect of building software systems is database design. The
highest level in the hierarchy is the database. It is a set of inter-related files for real
time processing. It contains the necessary data for problem solving and can be used
by several users accessing data concurrently
The general objective of database design is to make the data access easy, in
expensive and flexible to the user. Database design is usedto define and then
specify the structure of business used in the client/server system. In this project,
here used Microsoft SQL Server as the database to implement the data store part.
The most important part in the database design is the identification of tables to be
used.
12
CHAPTER 4
SYSTEM DEVELOPMENT
4.1 LANGUAGE / TOOLS
Php
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.
13
with databases, and called this implementation "Personal Home Page/Forms
Interpreter" or PHP/FI.
Lerdorf did not intend the early PHP to become a new programming
language, but it grew organically, with Lerdorf noting in retrospect. A development
team began to form and, after months of work and beta testing, officially released
PHP/FI 2 in November 1997.
The fact that PHP lacked an original overall design but instead developed
organically has led to inconsistent naming of functions and inconsistent ordering of
their parameters. In some cases, the function names were chosen to match the
lower-level libraries which PHP was "wrapping",while in some very early versions
of PHP the length of the function names was used internally as a hash function, so
names were chosen to improve the distribution of hash values.
14
• Php 3 and 4
Zeev Suraski and Andi Gutmans rewrote the parser in 1997 and formed the
base of PHP 3, changing the language's name to the recursive
acronym PHP:Hypertext Preprocessor. Afterwards, public testing of PHP 3 began,
and the official launch came in June 1998. Suraski and Gutmans then started a
new rewrite of PHP's core, producing the Zend Engine in 1999. They also
founded Zend Technologies in Ramat Gan, Israel. On May 22, 2000, PHP 4,
powered by the Zend Engine 1.0, was released. As of August 2008 this branch
reached version 4.4.9. PHP 4 is no longer under development nor will any security
updates be released.
• Php 5
On July 13, 2004, PHP 5 was released, powered by the new Zend Engine
II. PHP 5 included new features such as improved support for object-oriented
programming, the PHP Data Objects (PDO) extension (which defines a lightweight
and consistent interface for accessing databases), and numerous performance
enhancements. In 2008 PHP 5 became the only stable version under
development. Late static binding had been missing from PHP and was added in
version
5.3. Many high-profile open-source projects ceased to support PHP 4 in new code
as of February 5, 2008, because of the GoPHP5 initiative, provided by a
consortium of PHP developers promoting the transition from PHP 4 to PHP 5.
Over time, PHP interpreters became available on most existing 32-bit and 64-
bit operating systems, either by building them from the PHP source code, or by
using pre-built binaries. For the PHP versions 5.3 and 5.4, the only
available Microsoft Windows binary distributions were 32-bit x86 builds, requiring
Windows 32-bit compatibility mode while using Internet Information
Services (IIS) on a 64-bit Windows platform. PHP version 5.5 made the 64-
bit x86-64 builds available for Microsoft Windows.
15
• Php 6 and Unicode:
PHP has received criticism due to lacking native Unicode support at the core
language level, instead only supporting byte strings. In 2005, a project headed by
Andrei Zmievski was initiated to bring native Unicode support throughout PHP, by
embedding the International Components for Unicode (ICU) library, and
representing text strings as UTF-16 internally. Since this would cause major
changes both to the internals of the language and to user code, it was planned to
release this as version 6.0 of the language, along with other major features then in
development.
16
• Php 7
During 2014 and 2015, a new major PHP version was developed, which was
numbered PHP 7. The numbering of this version involved some debate. While the
PHP 6 Unicode experiment had never been released, several articles and book titles
referenced the PHP 6 name, which might have caused confusion if a new release
were to reuse the name. After a vote, the name PHP 7 was chosen.The foundation
of PHP 7 is a PHP branch that was originally dubbed PHP next generation (phpng).
It was authored by Dmitry Stogov, Xinchen Hui and Nikita Popov, and aimed to
optimize PHP performance by refactoring the Zend Engine to use more
compact data structures with improved cache locality while retaining near-
complete language compatibility. As of 14 July 2014, WordPress-based
benchmarks, which served as the main benchmark suite for the phpng project,
showed an almost 100% increase in performance. Changes from phpng are also
expected to make it easier to improve performance in the future, as more compact
data structures and other changes are seen as better suited for a successful
migration to a just-in-time (JIT) compiler. Because of the significant changes, the
reworked Zend Engine is called Zend Engine 3, succeeding Zend Engine 2 used in
PHP 5. Because of major internal changes in phpng, it must receive a new major
version number of PHP, rather than a minor PHP 5 release, according to PHP's
release process. Major versions of PHP are allowed to break backward-
compatibility of code and therefore PHP 7 presented an opportunity for other
improvements beyond phpng that require backward-compatibility breaks, including
wider use of exceptions, reworking variable syntax to be more consistent and
complete, and the deprecation or removal of various legacy features. PHP 7 also
introduced new language features, including return type declarations for
functions,which complement the existing parameter type declarations, and support
for the scalar types (integer, float, string, and boolean) in parameter and return type
declarations.
17
• Data Types
Arrays can contain elements of any type that PHP can handle, including resources,
objects, and other arrays. Order is preserved in lists of values and in hashes with
both keys and values, and the two can be intermingled. PHP also supports strings,
which can be used with single quotes, double quotes, nowdoc or heredoc syntax.
The Standard PHP Library (SPL) attempts to solve standard problems and
implements efficient data access interfaces and classes.
18
• Functions
PHP defines a large array of functions in the core language and many are also
available in various extensions,these functions are well documented in the online
PHP documentation. However, the built-in library has a wide variety of naming
conventions and associated inconsistencies, as described under history above.
with a given name has already been defined. Function calls must use parentheses,
with the exception of zero-argument class constructor functions called with the
PHP operator new, in which case parentheses are optional.
Until PHP 5.3, support for anonymous functions and closures did not exist in
PHP. While create_function() exists since PHP 4.0.1, it is merely a thin wrapper
around eval() that allows normal PHP functions to be created during program
keyword use imports a variable from the lexical context), which takes an
additional argument $y , and returns the created closure to the caller. Such a
19
PHP 7.0. PHP 7.0 also has type declarations for function return types, expressed by
placing the type name after the list of parameters, preceded by a colon.For
example, the getAdder function from the earlier example could be annotated with
Html
document text and may include other tags as sub-elements. Browsers do not
display the HTML tags, but use them to interpret the content of the page.HTML
can embed programs written in a scripting language such as JavaScript which
affect the behavior and content of web pages. Inclusion of CSS defines the look
and layout of content. The World Wide Web Consortium (W3C), maintainer of
both the HTML and the CSS standards, has encouraged the use of CSS over
explicit presentational HTML.
20
MySQL
Android Studio uses an Instant Push feature to push code and resource
changes to a running application. A code editor assists the developer with writing
code and offering code completion, refraction, and analysis. Applications built in
Android Studio are then compiled into the APK format for submission to the
Google Play Store.
The software was first announced at Google I/O in May 2013, and the first
stable build was released in December 2014. Android Studio is available for Mac,
Windows, and Linux desktop platforms. It replaced Eclipse Android Development
Tools (ADT) as the primary IDE for Android application development. Android
Studio and the Software Development Kit can be downloaded directly from
Google.
21
Package/Language Specification:
Web Browser :Mozilla, Google Chrome, IE8, OPERA
Software :XAMPP / Wamp / Mamp/ Lamp (anyone)
SYSTEM IMPLEMENTATION
22
Modules.
system security
An (operating) system is responsible for controlling access to systemresources,
which will include sensitive data. The system must therefore include acertain
amount of protection for such data, and must in turn control access to thoseparts of
the system that administer this protection. System security is concerned with
allaspects of these arrangements.System IntegrityState of a system where it is
performing its intended functions without being degradedor impaired by changes or
disruptions in its internal or external environments.That condition of
a systemwherein its mandated operational and technical parametersare within the
prescribed limits.The state that exists when there is complete assurance that under
all conditions anITsystem is based on the logical correctness and reliability of
theoperating system, thelogical completeness of thehardwareandsoftwarethat
implement the protectionmechanisms, and data integrity. Confidentiality, integrity
and availability, also known as the CIA triad, is a modeldesigned to guide policies
for information security within an organization. The model isalso sometimes
referred to as the AIC triad (availability, integrity and confidentiality) toavoid
confusion with the Central Intelligence Agency.
23
4.2 Source code
Login
<?php
//login.php
include('header.ph
p');
include('class/Appointment.php');
?>
<div class="container">
<?php
if(isset($_SESSION["success_messag
e"]))
echo $_SESSION["success_message"];
unset($_SESSION["success_message"]);
}
?>
24
Doctor schedule
<?php
//doctor.php
include('../class/Appointment.
Appointment; if(!$object-
>is_login())
header("location:".$object->base_url."admin");
include('header.php');
?>
<span id="message"></span>
25
<h6 class="m-0 font-weight-bold text-primary">Doctor Schedule
List</h6>
</div>
</div>
</div>
</div>
<div class="card-body">
<div class="table-responsive">
<thead>
<tr>
<?php
if($_SESSION['type'] == 'Admin')
?>
<th>Doctor Name</th>
<?php
26
?>
<th>Schedule Date</th>
<th>Schedule Day</th>
<th>Start Time</th>
<th>End Time</th>
<th>Consulting Time</th>
<th>Status</th>
<th>Action</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
<?php
include('footer.php');
?>
27
<div id="doctor_scheduleModal" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
</div>
<div class="modal-body">
<span id="form_message"></span>
<?php
if($_SESSION['type'] == 'Admin')
?>
<div class="form-group">
<label>Select Doctor</label>
<?php
$object->query = "
28
WHERE doctor_status = 'Active'
";
$result = $object->get_result();
foreach($result as $row)
echo '
<option value="'.$row["doctor_id"].'">'.$row["doctor_name"].'</option>
';
?>
</select>
</div>
<?php
?>
<div class="form-group">
<label>Schedule Date</label>
<div class="input-group">
<div class="input-group-prepend">
29
<span class="input-group-text" id="basic-addon1"><i class="fa fa-
calendar"></i></span>
</div>
</div>
</div>
<div class="form-group">
<label>Start Time</label>
<div class="input-group">
<div class="input-group-prepend">
</div>
</div>
<div class="form-group">
<label>End Time</label>
<div class="input-group">
30
<div class="input-group-prepend">
</div>
</div>
</div>
format: "yyyy-mm-
});
$('#doctor_schedule_start_time').datetimepicke
});
$('#doctor_schedule_end_time').datetimepicker({
useCurrent: false,
format: 'HH:mm'
});
{ console.log('test');
31
$('#doctor_schedule_end_time').datetimepicker('minDate', e.date);
});
$('#doctor_schedule_start_time').datetimepicker('maxDate', e.date);
});
$('#add_doctor_schedule').click(function(){
<br />
<div class="card">
<span id="message"></span>
<div class="card-body">
<div class="table-responsive">
<thead>
<tr>
<th>Appointment No.</th>
<th>Doctor Name</th>
<th>Appointment Date</th>
<th>Appointment Time</th>
<th>Appointment Day</th>
32
<th>Appointment Status</th>
<th>Download</th>
<th>Cancel</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<?php
include('footer.php');
?>
<script>
$(document).ready(function(){
"processing" : true,
"serverSide" : true,
33
},
"columnDefs":[
"targets":[6, 7],
"orderable":false,
$(document).on('click', '.cancel_appointment',
data:{appointment_id:appointment_id,
action:'cancel_appointment'}, success:function(data)
{
$('#message').html(data);
dataTable.ajax.reload();
setTimeout(function(){
$('#message').html('');
}, 5000);
})
34
});
});
</script>
Register
<?php
//login.php
include('header.ph
p');
?>
<div class="container">
<div class="card">
<div class="card-header">Register</div>
<div class="card-body">
<div class="form-group">
35
<input type="text" name="patient_email_address"
id="patient_email_address" class="form-control" required autofocus data-
parsley-type="email" data-parsley- trigger="keyup" />
</div>
<div class="form-group">
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
</div>
36
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<option value="Male">Male</option>
<option value="Female">Female</option>
<option value="Other">Other</option>
</select>
</div>
</div>
</div>
37
<div class="row">
<div class="col-md-6">
<div class="form-group">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<option value="Single">Single</option>
<option value="Married">Married</option>
<option value="Seperated">Seperated</option>
<option value="Divorced">Divorced</option>
<option value="Widowed">Widowed</option>
</select>
</div>
</div>
38
</div>
<div class="form-group">
</div>
</div>
<p><a href="login.php">Login</a></p>
</div>
</form>
</div>
</div>
<br />
<br />
</div>
</div>
39
</div>
<?php
include('footer.php');
?>
<div class="card-body">
<div class="form-group">
</div>
<div class="form-group">
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
40
<input type="text" name="patient_first_name" id="patient_first_name"
class="form-control" required data-parsley-trigger="keyup" />
</div>
</div>
<div class="col-md-6">
<div class="form-group">
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
41
<label>Patient Gender<span class="text-danger">*</span></label>
<select name="patient_gender" id="patient_gender" class="form-control">
<option value="Male">Male</option>
<option value="Female">Female</option>
<option value="Other">Other</option>
</select>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
42
<option value="Single">Single</option>
<option value="Married">Married</option>
<option value="Seperated">Seperated</option>
<option value="Divorced">Divorced</option>
<option value="Widowed">Widowed</option>
</select>
</div>
</div>
</div>
<div class="form-group">
</div>
</form>
<div class="card">
43
<div class="card-header">
<div class="row">
<div class="col-md-6">
Profile Details
</div>
</div>
</div>
</div>
<div class="card-body">
<?php
foreach($result as $row)
?>
<tr>
44
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
</tr>
45
<tr>
</tr>
<tr>
</tr>
<?php
?>
</table>
</div>
</div>
$('#patient_date_of_birth').datepick
autoclose: true
});
<?php
foreach($result as $row)
46
?>
$('#patient_email_address').val("<?php echo
$row['patient_email_address']; ?>");
$('#patient_maritial_status').val("<?php echo
$row['patient_maritial_status']; ?>");
<?php
?>
$('#edit_profile_form').parsley();
$('#edit_profile_form').on('submit', function(event){
event.preventDefault();
if($('#edit_profile_form').parsley().isValid())
47
$.ajax({
url:"actio
n.php",
method:"
POST",
data:$(this).serialize(),
beforeSend:function()
$('#edit_profile_button').attr('disabled', 'disabled');
$('#edit_profile_button').val('wait...');
},
succes
s:func
tion(d
ata)
{ window.location.href
= "profile.php";
})
});
});
</script>
48
Dashboard
<?php
include('../class/Appointment
Appointment; if(!$object-
>is_login())
header("location:".$object->base_url."");
if($_SESSION['type'] != 'Admin')
{ header("location:".$object-
>base_url.""); }
include('header.php');
?>
49
<div class="card border-left-primary shadow h-100 py-2">
<div class="card-body">
</div>
<div class="col-auto">
- 50 -
</div>
</div>
</div>
<div class="card-body">
</div>
<div class="col-auto">
</div>
<div class="card-body">
51
<div class="row no-gutters align-items-center">
</div>
<div class="col-auto">
</div>
</div>
<div class="col mb-4">
<div class="card-body">
</div>
<div class="col-auto">
52
<i class="fas fa-clipboard-list fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
<div class="card-body">
</div>
<div class="col-auto">
</div>
</div>
</div>
</div>
53
</div>
</div>
<?php
include('footer.php');
?>
Logout
<?php
//logo
ut.ph
sessio
n_star
t();
sessio
n_des
troy()
header("location:index.php");
?>
54
4.3 SCREENSHOT
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
CHAPTER 5
SYSTEM TESTING AND VALIDATIONS:
• Unit Testing
Benefits
The goal of unit testing is to isolate each part of the program and show that the
individual parts are correct. A unit test provides a strict, written contract that the
piece of code must satisfy. As a result, it affords several benefits.
It most directly unifies the methods of Booch, Rumbaugh (OMT) and Jacobson.
The UML is called a modeling language, not a method. Most methods consist at
least in principle, of both a modeling language and a process. The Modeling
language is that notation that methods used to express design. Notations and meta-
models: The notation is the graphical stuff; it is the syntax of the modeling
language. For instance, class diagram notation defines how items are concepts such
as class, association, and multiplicity is represented. These are: Class Diagram: The
class diagram technique has become truly central within objectoriented methods.
Virtually every method has included some variation on this technique. Class
diagram is also subject to the greatest range of modeling concept. Although the
basic elements are needed by everyone, advanced concepts are used less often. A
class diagram describes the types of objects in the system and the various kinds of
static relationship that exist among them.
CHAPTER 6
CONCLUSION
The conclusion is an understanding of how the system functions. This
system is called the existing system. Now the existing system is subjected to close
study and problem areas are identified. The designer now functions as a problem
solver and tries to sort out the difficulties that the enterprise faces. The solutions
are given as proposals. The proposal is then weighed with the existing system
analytically and the best one is selected. The proposal is presented to the user for
an endorsement by the user. The proposal is reviewed on user request and suitable
changes are made. This is loop that ends as soon as the user is satisfied with
proposal. Preliminary study is the process of gathering and interpreting facts, using
the information for further studies on the system. Preliminary study is problem
solving activity that requires intensive communication between the system users
and system developers. It does various feasibility studies. In these studies a rough
figure of the system activities can be obtained, from which the decision about the
strategies to be followed for effective system study and analysis can be taken.
FUTURE ENHANCEMENT
Bibliography
www.google.co.in
www.w3schools.com
www.DocFoc.com
www.SlideShare.com
www.codeproject.com
APPENDIX
REFERENCES