Online Doctor Appointment

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 97

_________________________________________________

Introduction

Sometimes you come across small problems where you to need consult

doctors about your health problems or for the nearest ones and follow their prescriptions.

Doctors online will provide you the power of direct interaction between doctors of your

choice as and when required for your small problems. Using this web applications, patients

will able to fill online form in just few seconds before entering to the virtual office room. It

will also enable you to upload your lab results such as x-ray copies, health history etc

which can be viewed by your referred doctors.

1.1 Vision of the project:

“The Interface has to be simple to use, as the target end-users for the system

are non-technical persons. Our system also aims to provide a complete IT

solution for Online Doctor Appointment.”

1.2 Mission of the project:

 Any user can see the details of the doctor.

 Only the Registered user can make the appoinement.

 The users can see their appointments and doctor available timings etc.
1.3 Overview

The World Wide Web is an attractive target to many attackers. It has a lot of

valuable information that can easily be accessed to a person with the right knowledge.

With the increasing number of electronic appointments sites popping up everyday, we are

very concerned with the security of transactions.

There are several different payment methods to use for online payments. Some of

these include; credit cards, micro payments, smart cards, and online billing. However, "the

top three credit cards companies handle over 98% of all purchases made on the Web."

(174, Korper) We wanted to address some of the security issues that web developers

should take to safeguard their sites. Specifically, we are interested in the protection of

credit card numbers and data that users transmit over the Web.

1.4 Existing System

Under manual system, you have to first wait in line to take appointment for

the doctors and wait for your time to have meet with them and discuss on your health

problems.As you have to provide your information and other reports many times at

different places such as the medicine store which is again a burden of carrying documents.

You have to be present physically at the doctor’s cabin. Patients have to visit on another

day of after some hours to take their health reports which involves extra care person with

patients anytime. Under manual system, the only accepted payment method is by cash and

if patients due to some reasons are not having cash on time may face difficulties and not

able to get treatment.

Drawbacks
1. It is not secure to maintain important information manually
2. More manual hours need to generate required reports
3. It is tedious to manage historical data which needs much space to keep
all the past years applications, books etc.
4. User need to wait more time to get his application status.
5. Data is not in sync in case of manual system.
6. Co-ordination between various branches is very difficult

1.5 Proposed System

To make a truly online system to have meet with online doctors, all manual process

has been automated through this system. Patient have to fill online form by which id and

password created and sended to their email and upon accepting data, automatic login to

patient panel. Through this panel, patients can select the doctors and have appointment

with them on their time from their own place. Patients will get all their reports and

medicine prescriptions in their inbox by notification indication just after appointment

session. There is no need of cash and a secure payment gateway has been used to pay the

required fees using their account or debit or credit card.

Advantages
 The proposed system is automated that is faster than the existing manually

maintained system and can handle data easily.

 Computerization of the details of the patients and doctors.

 Maintenance time and cost are greatly reduced.

 Accurate information can be generated easily and quickly at different levels.

 Report can be generated easily and quickly.

1.5.1 Features of the proposed system:


 User friendly.

 User can get the Timely Information from the database with out any delay

regarding the query.

 This reduces the delay of response given to the Customer.

 Admin can generate reports very easily.

1.5.2 Advantages of the proposed system:

 The proposed system is automated that is faster than the existing manually

maintained system and can handle data easily.

 Computerization of the details of the patients and doctors.

 Maintenance time and cost are greatly reduced.

 Accurate information can be generated easily and quickly at different levels.

 Report can be generated easily and quickly.

_______________________________________

2.1 Technical feasibility:

Evaluating the technical feasibility is the trickiest part of a feasibility study.

This is because, .at this point in time, not too many detailed design of the system, making it

difficult to access issues like performance, costs on (on account of the kind of technology

to be deployed) etc. A number of issues have to be considered while doing a technical

analysis.

Understand the different technologies involved in the proposed system

before commencing the project we have to be very clear about what are the technologies

that are to be required for the development of the new system. Find out whether the
organization currently possesses the required technologies. Is the required technology

available with the organization?

2.2 Operational feasibility:

Proposed projects are beneficial only if they can be turned into information

systems that will meet the organizations operating requirements. Simply stated, this test of

feasibility asks if the system will work when it is developed and installed. Are there major

barriers to Implementation? Here are questions that will help test the operational feasibility

of a project:

Is there sufficient support for the project from management from users? If

the current system is well liked and used to the extent that persons will not be able to see

reasons for change, there may be resistance.

Are the current business methods acceptable to the user? If they are not,

Users may welcome a change that will bring about a more operational and useful systems.

Have the user been involved in the planning and development of the project?

Early involvement reduces the chances of resistance to the system and in

general and increases the likelihood of successful project.

Since the proposed system was to help reduce the hardships encountered. In

the existing manual system, the new system was considered to be operational feasible.

2.3 Economic feasibility:

Economic feasibility attempts 2 weigh the costs of developing and

implementing a new system, against the benefits that would accrue from having the new

system in place. This feasibility study gives the top management the economic justification

for the new system.


A simple economic analysis which gives the actual comparison of costs and

benefits are much more meaningful in this case. In addition, this proves to be a useful point

of reference to compare actual costs as the project progresses. There could be various types

of intangible benefits on account of automation. These could include increased customer

satisfaction, improvement in product quality better decision making timeliness of

information, expediting activities, improved accuracy of operations, better documentation

and record keeping, faster retrieval of information, better employee morale.

3. Software & Hardware Requirements:

Hardware Configuration
 Processor                    Intel I3 Processor
 RAM                          4 GB
 Monitor                      15 inch color monitor or LED
 Hard disk                    160 GB
 Key board                   Standard 102 keys
 Mouse                         Optical

Software Configuration
 Operating system       Windows
 IDE PyCharm
 Language                    Python
 Framework Django
 Back End                      MYSQL
 Front End HTML,CSS,JS,Bootstrap
 Server Apache Tomcat

________________________________________________

4.1 Functional Requirements

The functional Requirement includes modules like

Modules
1. Patient Details
2. Doctors Details
3. Diseases Details
4. Remedy Details
5. Fee Transactions
6. User Administration
7. Medicine Details

Module Description:

Patient Details:-
For the first time visitors, they have to just enter their basic details and can enter their
dashboard. System will take care of creating their new profile. For existing patients, they
will have to enter their id and password. This module will like virtual office from where all
activity can be performed.

Doctors Module:-
Through this module, doctors can register themselves into system and login with their
details and they can do the operations like mention the available timings and reply for
queries and give remedy details etc.

Admin Module:
Through this module, admin can add the user details and modify them. If required they
may deleted them. And they maintain the medicine details , remedy details , doctor details,
medicine details and also they may also generate reports also.
Medicine Module:-
This module will provide details of medicines which should be taken by the patients. It
will also include the limit up to which these medicines should be taken and date to have
meet again with doctors.

Disease and Remedy Details:


This module will provide details about all the disease and their remedy details for both
patients and doctors in time and it maintain the all the details of the disease and it remedy
information in the database.

Fee Transactions Module:-


Patients will have to make their payment online to take services using this system. Each
doctors will have some fees which need to pay before their appointment session begins.

Online Report Module:-


Patients can get their lab results and health reports through tis section which is available
under each patient homepage. When documents are available under this module, a special
notification symbol appears above it which helps to notify their patients. Thus it provide
relieve to patients for carrying these from here and there.

System Architecture

SDLC Model - WATERFALL MODEL


Waterfall model indicates that all the SDLC steps will be going on step by step. In this
model once one stage completed then only it will start the another process. This will be
implemented when the requirements well known and clearly defined.
In this model we can implement all the setps one by one. First we will do requirements
gathering i.e in this step business analyst will collect the all functional requirements from
the client and will discuss with the manager and development team. Second step is analysis
where people can analyses the requirements so that they will do risk basement, risk
mitigation, risk controlling steps. And also they will do the cost-time analysis to estimate
the cost. They will also do the detail feasible study over the requirements of project.
In third phase called design page generally people will design the project i.e represent will
prepare the uml diagrams and prototypes for project. And then developers will start
programing or coding based on design . Finally testing team will test the content to identify
and fix the bugs. After successful user acceptance testing application will be deployed and
maintained in the client machine.

The waterfall model was selected as the SDLC model due to the following
reasons:
 When the requirements are very clear and not changed.
 Available technology is enough to implement.
 Project is easy and simple to understand to finish.
 And if we don’t have any confusion in requirements.
 We can easily manage the review process and task management.
 Every stage defined clearly and with timelines
INPUT DESIGN
The input design is the link between the information system and the user. It
comprises the developing specification and procedures for data preparation and those steps
are necessary to put transaction data in to a usable form for processing can be achieved by
inspecting the computer to read data from a written or printed document or it can occur by
having people keying the data directly into the system. The design of input focuses on
controlling the amount of input required, controlling the errors, avoiding delay, avoiding
extra steps and keeping the process simple. The input is designed in such a way so that it
provides security and ease of use with retaining the privacy. Input Design considered the
following things:
 What data should be given as input?
 How the data should be arranged or coded?
 The dialog to guide the operating personnel in providing input.
 Methods for preparing input validations and steps to follow when error occur.

OBJECTIVES
1.Input Design is the process of converting a user-oriented description of the
input into a computer-based system. This design is important to avoid errors in the data
input process and show the correct direction to the management for getting correct
information from the computerized system.
2. It is achieved by creating user-friendly screens for the data entry to handle
large volume of data. The goal of designing input is to make data entry easier and to be
free from errors. The data entry screen is designed in such a way that all the data
manipulates can be performed. It also provides record viewing facilities.
3.When the data is entered it will check for its validity. Data can be entered
with the help of screens. Appropriate messages are provided as when needed so that the
user will not be in maize of instant. Thus the objective of input design is to create an input
layout that is easy to follow

OUTPUT DESIGN
A quality output is one, which meets the requirements of the end user and
presents the information clearly. In any system results of processing are communicated to
the users and to other system through outputs. In output design it is determined how the
information is to be displaced for immediate need and also the hard copy output. It is the
most important and direct source information to the user. Efficient and intelligent output
design improves the system’s relationship to help user decision-making.
1. Designing computer output should proceed in an organized, well thought
out manner; the right output must be developed while ensuring that each output element is
designed so that people will find the system can use easily and effectively. When analysis
design computer output, they should Identify the specific output that is needed to meet the
requirements.
2.Select methods for presenting information.
3.Create document, report, or other formats that contain information produced
by the system.
The output form of an information system should accomplish one or more of
the following objectives.
 Convey information about past activities, current status or projections of the
 Future.
 Signal important events, opportunities, problems, or warnings.
 Trigger an action.
 Confirm an action.

4.3 UML Diagrams

 Unified Modeling Language:

The Unified Modeling Language is a third-generation method for

specifying, visualizing, and documenting the artifacts of an object-oriented system

under development. The Unified Modeling Language represents the unification of

the Booch, Objectory, and Ivar Jacobson methods and is their direct and upwardly

compatible to

 Conceptual as well as executable artifacts:

To address the issues of scale inherent successor. We can model just

about any type of application, running on any type and combination of hardware,

operating system, programming language, and network, in UML. Its flexibility lets

us model distributed applications that use just about any middleware on the market.

As unification began, it established four goals to bound efforts:

 To model systems (and not just software) using object-oriented

concepts.

 To establish an explicit coupling to conceptual as well as executable

artifacts.

 To address the issues of scale inherent in complex, mission-critical

systems.

 To create a method usable by both humans and machines.


It's architecture-driven, and it's incremental and iterative. UML diagrams are

classified as:

 Structural diagrams:

These include Class, Object, Component and Deployment

Diagrams.

 Behavior diagrams:

These include Use Case, Sequence, Activity, Collaboration and

Statechart diagrams.

4.3.1 Use Case Diagram:

Admin:

register

login
admin

add user

Manager:
Register

login

Manager
Report generation

view all desies and remideis

manage details

Official:
Register

login

Official
modify details

delete users

add new desiese

send message

schedule doctors

Doctor:
Register

login

Doctor
view queires

reponse to queries

mention avaible dates

Client:

Register

login

client
post querie

view response

take appoinement
4.3.2 Class Diagrams:
4.3.3 Sequence Diagrams:

Admin:

admin
server database

1 : login()
2 : verify()

3 : response()
4 : response()

5 : adduser()
6 : saved in db()

7 : response()
8 : reponse()

Manager:
manager
server database

1 : login()
2 : verify()

3 : response()
4 : response()

5 : report()
6 : getdata()

7 : senddata()
8 : report display()

9 : view details()
10 : verify in database()

11 : response()
12 : response()

Client:
client
server database

1 : login()
2 : verify()

3 : response()
4 : response()

5 : postquery()
6 : saved in db()

7 : response()
8 : response()

9 : see the reply()


10 : getting from database()

11 : response()
12 : response()
13 : take appointment()
14 : confirm with db()

15 : response()
16 : response()

Doctor:
doctor
server database

1 : login()
2 : verify()

3 : response()
4 : response()

5 : reply query()
6 : saved in db()

7 : response()
8 : response()

9 : store avaible hours()


10 : stored in db()

11 : response()
12 : response()
13 : view desease and remedy()
14 : request()

15 : response()
16 : response()

Deployment diagram:

<<artifact>> database server


server
project

Activity Diagram:
Login

view the avaible timings

check with doctr and today schedule

book the apointmnet

pay the money

ER Diagram:
DFDs
5. Database design

The design starts with the end users view of the organization called conceptual

requirements and user in a decision-making, which uses information obtained by accessing

the database. The end users also provide data to be stored in the database. In considering

the end user requirements following tradeoff have to be taken into account:

It should satisfy today’s needs for information.

 It should not only satisfy today’s needs but also satisfy them in reasonable time i.e.,

it should satisfy the performance requirements.

 It should satisfy the anticipated as well as anticipated requirements of the end users.

 It should be easily expandable with the reorganization and expansion of the

enterprise.

 It should be easy to modify in changing software and hardware environments.

 Before inserting any data into the database the data should be tested for validity.

 Only authorized people should access to the data stored in the database.

4.1 Steps involved in designing a database:

There are about two steps in designing database. They are:

 Conceptual modal

 Logical modal.
3.5.2 About the Database:

The entire database is maintained as a set of related tables. Each table is specific to

certain functions and eases the storage, retrieval of data from the database.

The following are the detailed descriptions of the tables that are to created for

implementing the system effectively.

Conventions used:

Constraint Type: The type of the constraint.

P: Primary Key Constraint.

F: Foreign Key Constraint.

5.

5.1 Data Dictionary:

MainLoginTable

sno number,fname string, lname string, pass string,


desg string , qual string,spelz string ,exp int, foe string, university string, mobile int, email
string, sex string, dob string, type string, doj string ,

SQL> desc logintable;


Name Null? Type
----------------------------------------- -------- ----------------

SNO NOT NULL NUMBER(38)


NAME VARCHAR2(40)
PASSWORD VARCHAR2(20)
TYPE VARCHAR2(2)
EID VARCHAR2(50)

SQL> desc postedquery;


Name Null? Type
----------------------------------------- -------- ---------------

NO NOT NULL NUMBER(38)


PQUERY VARCHAR2(300)
EID NUMBER(38)
CID NUMBER(38)
RQUERY VARCHAR2(300)
FAQ VARCHAR2(2)

SQL> desc disease;


Name Null? Type
----------------------------------------- -------- -------------------

DID NOT NULL NUMBER


DNAME VARCHAR2(30)
STATE VARCHAR2(2)
REMEDY VARCHAR2(300)

SQL> desc todayshedule;


Name Null? Type
----------------------------------------- -------- ---------------------

ANO NOT NULL NUMBER(38)


DID NOT NULL NUMBER(38)
DNAME VARCHAR2(30)
ADATE NOT NULL VARCHAR2(12)
CFEE NUMBER(38)
STATE VARCHAR2(2)

SQL> desc createdates;


Name Null? Type
----------------------------------------- -------- -------------------

RNO NOT NULL NUMBER(38)


DID NOT NULL NUMBER(38)
DNAME VARCHAR2(30)
ADATE NOT NULL VARCHAR2(12)

SQL> desc clientsapptable;


Name Null? Type
----------------------------------------- -------- ---------------

ANO NOT NULL NUMBER(38)


DID NOT NULL NUMBER(38)
DNAME VARCHAR2(30)
ADATE NOT NULL VARCHAR2(12)
CCNO NUMBER(38)
CID NOT NULL NUMBER(38)
CFEE NUMBER(38)

6.SOFTWARE AND HARDWARE IMPLEMENTAION

PYTHON
Python is a general-purpose interpreted, interactive, object-oriented, and high-level
programming language. An interpreted language, Python has a design philosophy that
emphasizes code readability (notably using whitespace indentation to delimit code
blocks rather than curly brackets or keywords), and a syntax that allows programmers to
express concepts in fewer lines of code than might be used in languages such as C+
+or Java. It provides constructs that enable clear programming on both small and large
scales. Python interpreters are available for many operating systems. CPython,
the reference implementation of Python, is open source software and has a community-
based development model, as do nearly all of its variant implementations. CPython is
managed by the non-profit Python Software Foundation. Python features a dynamic
type system and automatic memory management. It supports multiple programming
paradigms, including object-oriented, imperative, functional and procedural, and has a
large and comprehensive standard library
DJANGO
Django is a high-level Python Web framework that encourages rapid development and
clean, pragmatic design. Built by experienced developers, it takes care of much of the
hassle of Web development, so you can focus on writing your app without needing to
reinvent the wheel. It’s free and open source.
Django's primary goal is to ease the creation of complex, database-driven websites. Django
emphasizes reusabilityand "pluggability" of components, rapid development, and the
principle of don't repeat yourself. Python is used throughout, even for settings files and
data models.
Django also provides an optional administrative create, read, update and delete interface
that is generated dynamically through introspection and configured via admin models

About Technology - Python


“Python can be utilized to make applications which can be utilized inside an
Enterprise or an Organization. Some constant applications are: OpenErp, Tryton, Picalo
and so on”.
There are a few such applications which can be created utilizing Python

Installation on Windows
“Visit the link https://www.python.org/downloads/ to download the latest release of
Python. In this process, we will install Python 3.6.7 on our Windows operating system”.

Double tap the executable document which is downloaded; the accompanying window will
open. Select Customize establishment and continue.
The accompanying window demonstrates all the discretionary highlights. Every one of the
highlights should be introduced and are checked as a matter of course; we have to click
beside proceed.
The accompanying window demonstrates a rundown of cutting edge choices. Check every
one of the choices which you need to introduce and click straightaway. Here, we should
see that the main registration (introduce for all clients) must be checked.
Now, we are ready to install python-3.6.7. Let's install it.
Now, “try to run python on the command prompt. Type the command python in case of
python2 or python3 in case of python3. It will show an error as given in the below image.
It is because we haven't set the path”.
To set the path of python, we need to the right click on "my computer" and go to Properties
→ Advanced → Environment Variables.
 

Add the new path variable in the user variable section.


 

Type PATH as the variable name and set the way to the establishment catalog of the
python appeared in the underneath picture.
 

Presently, the way is set, “we are prepared to run python on our nearby framework. Restart
CMD, and type python once more. It will open the python mediator shell where we can
execute the python proclamations”.

Libraries Used:
Scikit-Learn
Scikit-learn is a free software machine learning library for the Python programming
language. It features various classification, regression and clustering algorithms including
support vector machines,

NumPy:
NumPy stands for ‘Numerical-Python’ or ‘Numeric-Python’. It is often pronounced as
num-pai or num-pee. It is a library for the Python programming language mainly used for
interacting with multidimensional and large arrays and matrices. It has a large number of
built in mathematical functions which can be used on the large arrays for analyzing them.
It is a very good package that can be used on any mathematical and statistics related
operation. It works well with multi-dimensional array, data science programming, linear-
algebra, random number problems, Fourier-transform etc. This library is more efficient in
terms of memory and can manage large amount of data than any other library.

Pandas:
Pandas is also a library used for dealing with data in data science. Apart from Numpy
which deals with multi-dimensional arrays, Pandas deals with data in tabular form i.e. data
in the form of rows and columns. In this library a 1D array called as Series, a 2D-table
called as Data Frames and the combination of Data Frames called as Panel objects are
used. We can edit the Series by adding or deleting elements into the array like objects. We
can even add, delete or edit the rows and columns in the Data Frame. In similar lines with
Numpy, Pandas also provides the primary mathematical operations such as adding
subtracting, conditional-operations and even broadcasting.
Matplotlib
Matplotlib produces publication-quality figures in a variety of hardcopy formats and
interactive environments across platforms. Matplotlib can be used in Python scripts, the
Python and IPython shell, web application servers, and various graphical user interface
toolkits.
PIL
Python Imaging Library is a free and open-source additional library for the Python
programming language that adds support for opening, manipulating, and saving many
different image file formats. It is available for Windows, Mac OS X and Linux.
PYCHARM installation

Steps Involved
You will have to follow the steps given below to install PyCharm on your system.
These steps show the installation procedure starting from downloading the
PyCharm package from its official website to creating a new project.

Step 1

Download the required package or executable from the official website of


PyCharm https://www.jetbrains.com/pycharm/download/#section=windowsHere
you will observe two versions of package for Windows as shown in the
screenshot given below −
Note that the professional package involves all the advanced features and comes
with free trial for few days and the user has to buy a licensed key for activation
beyond the trial period. Community package is for free and can be downloaded
and installed as and when required. It includes all the basic features needed for
installation. Note that we will continue with community package throughout this
tutorial.

Step 2

Download the community package (executable file) onto your system and
mention a destination folder as shown below −
Step 3

Now, begin the installation procedure similar to any other software package.
Step 4

Once the installation is successful, PyCharm asks you to import settings of the
existing package if any.
This helps in creating a new project of Python where you can work from the
scratch. Note that unlike other IDEs, PyCharm only focusses on working with
projects of Python scripting language.

______________________________________________ Coding

Views.py

import smtplib

from django.shortcuts import render, redirect

from customerapp.models import Customer_query, Book_appointment

from customerapp.forms import Customer_queryForm, Book_appointmentForm,

Book_appointmentForm1, Book_appointmentForm2

from doctorapp.models import Doctor_reg, Add_schedule, Doctor_pic

from doctorapp.forms import Doctor_regForm, Add_scheduleForm, Doctor_picForm

def doctor(request):
if request.method == "POST":

email = request.POST["email"]

pwd = request.POST["password"]

request.session["email"] = email

try:

d = Doctor_reg.objects.get(email=email, password=pwd)

return render(request, "doctor_home.html", {'data': d, "msg": "Wow!...login

successfully"})

except Exception as e:

return render(request, "doctor.html", {"error": e, "msg": "Sorry!...your are entered

invalid credentials"})

return render(request, "doctor.html", {})

def doctor_reg(request):

if request.method == "POST":

details = Doctor_regForm(request.POST)

email = request.POST["email"]

if Doctor_reg.objects.filter(email=email).exists():

return render(request, "doctor_reg.html",

{"msg": "Sorry!,this email is already exists. pls register with another

email"})

else:

if details.is_valid():
try:

details.save()

return render(request, "doctor.html", {"msg": "Great!, you successfully

registered"})

except:

return render(request, "doctor_reg.html", {})

return render(request, "doctor_reg.html", {})

def doctor_edit(request):

email = request.session["email"]

drs = Doctor_reg.objects.get(email=email)

return render(request, "doctor_edit.html", {"doctors": drs})

def doctor_profile_update(request):

if request.method == "POST":

email = request.session["email"]

drs = Doctor_reg.objects.get(email=email)

form = Doctor_regForm(request.POST, instance=drs)

if form.is_valid():

form.save()

return render(request, "doctor_home.html", {"msg": "Great!...successfully updated

your profile."})
return render(request, "doctor_profile_update.html", {})

def is_login(request):

if request.session.__contains__("email"):

return True

else:

return False

def doctor_change_pwd(request):

if is_login(request):

if request.method == "POST":

pwd = request.POST["password"]

new_pwd = request.POST["new_password"]

email = request.session["email"]

try:

form = Doctor_reg.objects.get(email=email, password=pwd)

form.password = new_pwd

form.save()

return redirect('/doctor_logout', {"msg": "Great! successfully change your

password"})

except:

return render(request, "doctor_change_pwd.html", {})


return render(request, "doctor_change_pwd.html", {})

else:

return render(request, "doctor.html", {})

def doctor_forgot_pwd(request):

if request.method == "POST":

email = request.POST["email"]

try:

dr = Doctor_reg.objects.get(email=email)

server = smtplib.SMTP("smtp.gmail.com", 587)

server.starttls()

server.login("[email protected]", "Sriramatherdam@99")

msg = "Greetings! from admin team, your password is " + dr.password

server.sendmail("[email protected]", [email], msg)

server.quit()

return render(request, "doctor.html", {})

except Exception as e:

return render(request, "doctor_forgot.html", {"msg": e})

return render(request, "doctor_forgot.html", {})

def doctor_home(request):

return render(request, "doctor_home.html", {})


def doctor_logout(request):

request.session["email"] = ""

del request.session["email"]

return render(request, "doctor.html", {})

def doctor_profile_pic(request):

email = request.session['email']

dr_details = Doctor_reg.objects.get(email=email)

return render(request, "doctor_profile_pic.html", {"dr_details": dr_details})

def doctor_profile_pic_upload(request):

if request.method == "POST":

image = Doctor_picForm(request.POST, request.FILES)

if image.is_valid():

image.save()

return render(request, "doctor_profile_pic.html", {"msg": "Successfully profile pic

uploaded."})

return render(request, "doctor_profile_pic.html", {})


def dr_profile_pic_display(request):

if request.method == "GET":

email = request.session['email']

dr_details = Doctor_reg.objects.get(email=email)

dr_pic = Doctor_pic.objects.filter(name_id=dr_details.id)

return render(request, "dr_profile_display.html",

{"dr_pic": dr_pic, "dr_details": dr_details})

return render(request, "dr_profile_display.html", {})

def dr_add_schedule(request):

if request.method == "POST":

schedule = Add_scheduleForm(request.POST)

if schedule.is_valid():

try:

schedule.save()

return render(request, "doctor_home.html", {"msg": "Successfully entered your

schedule"})

except Exception as e:

return render(request, "dr_add_schedule.html", {"msg": e})

email1 = request.session["email"]

return render(request, "dr_add_schedule.html", {"email": email1})


def doctor_schedules(request):

email = request.session['email']

schedules = Add_schedule.objects.filter(email=email)

return render(request, "doctor_schedules.html", {"schedules": schedules})

def delete_schedule(request, id):

schedule = Add_schedule.objects.get(id=id)

schedule.delete()

return redirect('/doctor_schedules')

def edit_schedule(request, id):

schedules = Add_schedule.objects.get(id=id)

return render(request, "dr_schedule_edit.html", {"schedules": schedules})

def update_schedule(request):

if request.method == "POST":

dr_email = request.POST["email"]

schedule = Add_schedule.objects.get(email=dr_email)

form = Add_scheduleForm(request.POST, instance=schedule)

if form.is_valid():

try:
form.save()

return redirect("/doctor_schedules")

except Exception as e:

return render(request, "dr_schedule_edit.html", {"msg": e})

return render(request, "dr_schedule_edit.html", {})

def dr_queries_from_customer(request):

email = request.session['email']

dtails = Doctor_reg.objects.get(email=email)

queries = Customer_query.objects.filter(doctor_name=dtails.id)

return render(request, "dr_queries_from_customer.html", {"queries": queries})

def response_to_customer(request, id):

details = Customer_query.objects.get(id=id)

return render(request, "response_to_customer.html", {"details": details})

def dr_responded(request):

if request.method == "POST":

customer_id = request.POST["id"]

details = Customer_query.objects.get(id=customer_id)

form = Customer_queryForm(request.POST, instance=details)


if form.is_valid():

form.save()

return redirect("dr_queries_from_customer")

return render(request, "dr_queries_from_customer.html", {})

def booking_requests_from_customer(request):

email = request.session["email"]

doctor_details = Doctor_reg.objects.get(email=email)

requests = Book_appointment.objects.filter(doctor_name=doctor_details.id)

if requests.exists():

return render(request, "booking_requests_from_customer.html", {"requests":

requests})

else:

return render(request, "booking_requests_from_customer.html",

{"msg": "Sorry!,no requests are found from customer"})

def accept_request(request, id):

customer = Book_appointment.objects.get(id=id)

customer.status = "accepted"

customer.save()
return redirect("booking_requests_from_customer")

def reject_request(request, id):

customer = Book_appointment.objects.get(id=id)

customer.status = "rejected"

customer.save()

return redirect("booking_requests_from_customer")

def reschedule_patient_request(request, id):

customer = Book_appointment.objects.get(id=id)

return render(request, "reschedule_request.html", {"customer": customer})

def reschedule_request(request):

if request.method == "POST":

booking_id = request.POST['id']

booking_details = Book_appointment.objects.get(id=booking_id)

reschedule = Book_appointmentForm2(request.POST, instance=booking_details)

if reschedule.is_valid():

reschedule.save()

booking_details.status = "rescheduled"

booking_details.save()
return redirect("booking_requests_from_customer")

return render(request, "reschedule_request.html", {})

def prescription_to_customer(request, id):

customer = Book_appointment.objects.get(id=id)

return render(request, "prescription_to_customer.html", {"customer": customer})

def prescription(request):

if request.method == "POST":

booking_id = request.POST['id']

booking_details = Book_appointment.objects.get(id=booking_id)

response = Book_appointmentForm1(request.POST, request.FILES,

instance=booking_details)

if response.is_valid():

response.save()

return render(request, "prescription_to_customer.html", {"response": response})

forms.py

from doctorapp.models import Doctor_reg, Add_schedule,Doctor_pic

from django import forms


class Doctor_regForm(forms.ModelForm):

class Meta:

model = Doctor_reg

fields = "__all__"

class Add_scheduleForm(forms.ModelForm):

class Meta:

model = Add_schedule

fields = "__all__"

class Doctor_picForm(forms.ModelForm):

class Meta:

model = Doctor_pic

fields = ['name', 'doctor_Img']

models.py

from django.db import models

# Create your models here.

class Doctor_reg(models.Model):

fullname = models.CharField(max_length=50)
email = models.EmailField(max_length=254)

password = models.CharField(max_length=50)

mobile = models.BigIntegerField()

qualification = models.CharField(max_length=50)

specialization = models.CharField(max_length=50)

appointment_fee = models.IntegerField()

experience = models.CharField(max_length=50)

about_me = models.TextField()

city = models.CharField(max_length=50)

class Doctor_pic(models.Model):

name = models.ForeignKey(Doctor_reg,on_delete=models.CASCADE)

doctor_Img = models.ImageField(upload_to='images/')

class Add_schedule(models.Model):

email = models.EmailField(max_length=50)

available_date = models.DateField()

from_time = models.TimeField()

to_time = models.TimeField()

templates

<!DOCTYPE html>
{% load static %}

<html lang="en">

<head>

<title>Doctor Home</title>

<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="description" content="Health medical template project">

<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" type="text/css" href="{% static 'styles/bootstrap4/bootstrap.min.css'

%}">

<link href="{% static 'plugins/font-awesome-4.7.0/css/font-awesome.min.css' %}"

rel="stylesheet" type="text/css">

<link rel="stylesheet" type="text/css" href="{% static 'styles/contact.css' %}">

<link rel="stylesheet" type="text/css" href="{% static 'styles/contact_responsive.css' %}">

</head>

<body>

<div class="super_container">

<!-- Menu -->

<div class="menu trans_500">

<div class="menu_content d-flex flex-column align-items-

center justify-content-center text-center">


<div class="menu_close_container"><div

class="menu_close"></div></div>

<form action="#"

class="menu_search_form">

<!--<input type="text"

class="menu_search_input" placeholder="Search" required="required">

<button

class="menu_search_button"><i class="fa fa-search" aria-hidden="true"></i></button>

</form>-->

<ul>

<li class="menu_item"><a

href="{% url 'doctor_change_pwd' %}">Change Password</a></li>

<li class="menu_item"><a

href="{% url 'doctor_edit' %}">Profile Update</a></li>

<li class="menu_item"><a

href="{% url 'doctor_profile_pic' %}">Profile pic Upload</a></li>

<li class="menu_item"><a

href="{% url 'dr_add_schedule' %}">Add Schedule</a></li>

<li class="menu_item"><a

href="{% url 'doctor_schedules' %}">My Schedules</a></li>

<li class="menu_item"><a

href="{% url 'dr_queries_from_customer' %}">Queries from Customer</a></li>


<li class="menu_item"><a

href="{% url 'booking_requests_from_customer' %}">Appointments From

Customer</a></li>

<li class="menu_item"><a

href="{% url 'doctor_logout' %}">Logout</a></li>

</ul>

</div>

<div class="menu_social">

<ul>

<li><a href="#"><i class="fa

fa-pinterest" aria-hidden="true"></i></a></li>

<li><a href="#"><i class="fa

fa-facebook" aria-hidden="true"></i></a></li>

<li><a href="#"><i class="fa

fa-twitter" aria-hidden="true"></i></a></li>

<li><a href="#"><i class="fa

fa-dribbble" aria-hidden="true"></i></a></li>

<li><a href="#"><i class="fa

fa-behance" aria-hidden="true"></i></a></li>

<li><a href="#"><i class="fa

fa-linkedin" aria-hidden="true"></i></a></li>

</ul>
</div>

</div>

<!-- Home -->

<div class="home">

<div class="parallax_background parallax-window" data-

parallax="scroll" data-image-src="{% static 'images/contact.jpg' %}" data-

speed="0.8"></div>

<!-- Header -->

<header class="header" id="header">

<div>

<div class="header_top">

<div

class="container">

<div class="row">

<div class="col">

<div class="header_top_content d-flex flex-row align-items-

center justify-content-start">
<div class="logo">

<a

href="#">health<span>+</span></a>

</div>

<div class="header_top_extra d-flex flex-row

align-items-center justify-content-start ml-auto">

<div class="header_top_nav">

<ul class="d-

flex flex-row align-items-center justify-content-start">

<li><a href="#">Help Desk</a></li>

<li><a href="#">Emergency Services</a></li>

<li><a href="#">Appointment</a></li>
</ul>

</div>

<div

class="header_top_phone">

<i class="fa fa-

phone" aria-hidden="true"></i>

<span>+34 586

778 8892</span>

</div>

</div>

<div class="hamburger ml-auto"><i class="fa

fa-bars" aria-hidden="true"></i></div>

</div>

</div>
</div>

</div>

</div>

<div class="header_nav"

id="header_nav_pin">

<div

class="header_nav_inner">

<div class="header_nav_container">

<div class="container">

<div class="row">

<div class="col">

<div

class="header_nav_content d-flex flex-row align-items-center justify-content-start">

<nav

class="main_nav">
<ul class="d-flex flex-row align-items-center justify-content-start">

<li><a href="{% url 'doctor_change_pwd' %}">Change password</a></li>

<li><a href="{% url 'doctor_edit' %}">Profile update</a></li>

<li><a href="{% url 'doctor_profile_pic' %}">Profile pic upload</a></li>

<li><a href="{% url 'dr_add_schedule' %}">Add Schedule</a></li>

<li><a href="{% url 'doctor_schedules' %}">My Schedules</a></li>

<li><a href="{% url 'dr_queries_from_customer' %}">Queries from

customer</a></li>
<li><a href="{% url 'booking_requests_from_customer'

%}">Appointments From Customer</a></li>

<li><a href="{% url 'doctor_logout' %}">Logout</a></li>

</ul>

</nav>

<div

class="search_content d-flex flex-row align-items-center justify-content-end ml-auto">

<!--<form action="#" id="search_container_form"

class="search_container_form">

<input type="text" class="search_container_input" placeholder="Search"

required="required">
<button class="search_container_button"><i class="fa fa-search" aria-

hidden="true"></i></button>

</form>-->

</div>

</div>

</div>

</div>

</div>

</div>

</div>

</div>

</div>

</header>

<div class="home_container">

<div class="container">
<div class="row">

<div

class="col">

<div class="home_content">

<div class="home_title">Doctor Home</div>

</div>

</div>

</div>

</div>

</div>

</div>

<!-- Contact -->

<div class="contact">

<div class="container">

<div class="row">

<!-- Contact form -->

<!--<div class="col-lg-8

contact_col">
<div

class="contact_form">

<div class="contact_title">Login</div>

<div class="contact_form_container">

<form action="{% url 'customer' %}" method="POST" id="contact_form"

class="contact_form">

{% csrf_token %}

<input type="text" id="contact_input" class="contact_input"

name="name" placeholder="Your Name" required="required">

<input type="email" id="contact_email"

class="contact_input" name="email" placeholder="Your E-mail" required="required">

<input type="password" id="contact_subject"

class="contact_input" name="password" placeholder="password" required="required">

<textarea class="contact_input contact_textarea"

id="contact_textarea" name="message" placeholder="Message"

required="required"></textarea>
<button class="contact_button"

id="contact_button">Submit</button>

<a target="_blank" class="contact_button" href="{% url

'customer_reg' %}">New register</a>

<a target="_blank" class="contact_button" href="{% url

'customer_forgot_pwd' %}">Forgot password</a>

</form>

</div>

</div>

</div>-->

<!-- Make an Appointment -->

<!--<div class="col-lg-4

contact_col">

<div

class="info_form_container">

<div class="info_form_title">Make an Appointment</div>


<form action="#" class="info_form" id="info_form">

<select name="info_form_dep" id="info_form_dep" class="info_form_dep

info_input info_select">

<option>Department</option>

<option>Department</option>

<option>Department</option>

</select>

<select name="info_form_doc" id="info_form_doc" class="info_form_doc

info_input info_select">

<option>Doctor</option>

<option>Doctor</option>

<option>Doctor</option>

</select>
<input type="text" class="info_input" placeholder="Name"

required="required">

<input type="text" class="info_input" placeholder="Phone No">

<button class="info_form_button">make an appointment</button>

</form>

</div>

</div>-->

{{msg}}

<!-- contact info -->

<!--<div class="contact_info">

<div

class="row">

<div class="col-lg-3 offset-lg-1">

<div class="contact_info_list">

<div class="contact_info_title">Contact Info</div>


<ul>

<li><span>Address: </span>Mitlton Str. 26-

27 Gibraltar</li>

<li><span>Email:

</span>[email protected]</li>

<li><span>Phone: </span>+53 345 7953

32453</li>

</ul>

</div>

</div>

<div class="col-lg-4">

<div class="contact_info_list contact_info_list_2">

<ul>
<li><span>Address: </span>Mitlton Str. 26-

27 London UK</li>

<li><span>Email:

</span>[email protected]</li>

<li><span>Phone: </span>+53 345 7953

32453</li>

</ul>

</div>

</div>

<div class="col-lg-3">

<div class="contact_info_list">

<div class="contact_info_title">Opening Hours</div>

<ul>
<li class="d-flex flex-row align-items-center

justify-content-start">

<div>Monday-Thursday</div>

<div class="ml-auto">8.00 -

19.00</div>

</li>

<li class="d-flex flex-row align-items-center

justify-content-start">

<div>Friday</div>

<div class="ml-auto">8.00 -

18.30</div>

</li>

<li class="d-flex flex-row align-items-center

justify-content-start">

<div>Saturday</div>
<div class="ml-auto">9.30 -

17.00</div>

</li>

<li class="d-flex flex-row align-items-center

justify-content-start">

<div>Sunday</div>

<div class="ml-auto">9.30 -

15.00</div>

</li>

</ul>

</div>

</div>

</div>

</div>

</div>
</div>

</div>-->

<!-- Google Map -->

<!--<div class="contact_map">

Google Map -->

<!--<div class="map">

<div id="google_map" class="google_map">

<div class="map_container">

<div

id="map"></div>

</div>

</div>

</div>

</div>-->

<!-- Footer -->

<!--<footer class="footer">

<div class="parallax_background parallax-window" data-

parallax="scroll" data-image-src="{% static 'images/footer.jpg' %}"

data-speed="0.8"></div>

<div class="footer_content">
<div class="container">

<div class="row">-->

<!-- Footer

About -->

<!--<div

class="col-lg-3 footer_col">

<div class="footer_about">

<div class="logo">

<a href="#">health<span>+</span></a>

</div>

<div class="footer_about_text">Lorem ipsum dolor sit amet, lorem

maximus consectetur adipiscing elit. Donec malesuada lorem maximus mauris.</div>

<div class="footer_social">

<ul class="d-flex flex-row align-items-center justify-content-

start">
<li><a href="#"><i class="fa fa-pinterest"

aria-hidden="true"></i></a></li>

<li><a href="#"><i class="fa fa-facebook"

aria-hidden="true"></i></a></li>

<li><a href="#"><i class="fa fa-twitter" aria-

hidden="true"></i></a></li>

<li><a href="#"><i class="fa fa-dribbble"

aria-hidden="true"></i></a></li>

<li><a href="#"><i class="fa fa-behance"

aria-hidden="true"></i></a></li>

<li><a href="#"><i class="fa fa-linkedin"

aria-hidden="true"></i></a></li>

</ul>

</div>-->

<!--<div class="copyright">Link back to Colorlib can't be removed.

Template is licensed under CC BY 3.0. -->


<!-- Copyright &copy;<script>document.write(new Date().getFullYear());</script> All

rights reserved | This template is made with <i class="fa fa-heart-o"

aria-hidden="true"></i> by <a href="https://colorlib.com" target="_blank">Colorlib</a>

Link back to Colorlib can't be removed. Template is licensed under CC BY 3.0. -->

</div>

</div>

</div>

<!-- Footer

Contact -->

<!--<div

class="col-lg-5 footer_col">

<div class="footer_contact">

<div class="footer_contact_title">Quick Contact</div>

<div class="footer_contact_form_container">

<form action="#" class="footer_contact_form"

id="footer_contact_form">
<div class="d-flex flex-xl-row flex-column

align-items-center justify-content-between">

<input type="text"

class="footer_contact_input" placeholder="Name" required="required">

<input type="email"

class="footer_contact_input" placeholder="E-mail" required="required">

</div>

<textarea class="footer_contact_input

footer_contact_textarea" placeholder="Message" required="required"></textarea>

<button class="footer_contact_button">send

message</button>

</form>

</div>

</div>

</div>-->
<!-- Footer

Hours -->

<!--<div

class="col-lg-4 footer_col">

<div class="footer_hours">

<div class="footer_hours_title">Opening Hours</div>

<ul class="hours_list">

<li class="d-flex flex-row align-items-center justify-content-

start">

<div>Monday – Thursday</div>

<div class="ml-auto">8.00 – 19.00</div>

</li>

<li class="d-flex flex-row align-items-center justify-content-

start">

<div>Friday</div>
<div class="ml-auto">8.00 - 18.30</div>

</li>

<li class="d-flex flex-row align-items-center justify-content-

start">

<div>Saturday</div>

<div class="ml-auto">9.30 – 17.00</div>

</li>

<li class="d-flex flex-row align-items-center justify-content-

start">

<div>Sunday</div>

<div class="ml-auto">9.30 – 15.00</div>

</li>

</ul>
</div>

</div>

</div>

</div>

</div>

<div class="footer_bar">

<div class="container">

<div class="row">

<div

class="col">

<div class="footer_bar_content d-flex flex-sm-row flex-column align-

items-lg-center align-items-start justify-content-start">

<nav class="footer_nav">

<ul class="d-flex flex-lg-row flex-column align-items-lg-

center align-items-start justify-content-start">

<li class="active"><a href="{% url 'index'

%}">Home</a></li>
<li><a href="{% url 'about' %}">About

Us</a></li>

<li><a href="{% url 'services'

%}">Services</a></li>

<li><a href="{% url 'news'

%}">News</a></li>

<li><a href="{% url 'contact'

%}">Contact</a></li>

</ul>

</nav>

<div class="footer_links">

<ul class="d-flex flex-lg-row flex-column align-items-lg-

center align-items-start justify-content-start">

<li><a href="#">Help Desk</a></li>


<li><a href="#">Emergency

Services</a></li>

<li><a href="#">Appointment</a></li>

</ul>

</div>

<div class="footer_phone ml-lg-auto">

<i class="fa fa-phone" aria-hidden="true"></i>

<span>+34 586 778 8892</span>

</div>

</div>

</div>

</div>

</div>

</div>

</footer>

</div>-->
<script src="{% static 'js/jquery-3.3.1.min.js' %}"></script>

<script src="{% static 'styles/bootstrap4/popper.js' %}"></script>

<script src="{% static 'styles/bootstrap4/bootstrap.min.js' %}"></script>

<script src="{% static 'plugins/easing/easing.js' %}"></script>

<script src="{% static 'plugins/parallax-js-master/parallax.min.js' %}"></script>

<script src="https://maps.googleapis.com/maps/api/js?

v=3.exp&key=AIzaSyCIwF204lFZg1y4kPSIhKaHEXMLYxxuMhA"></script>

<script src="{% static 'js/contact.js' %}"></script>

</body>

</html>

___________________________________________________________
Introduction

Software testing is a critical element of software quality assurance and represents

the ultimate reviews of specification, design and coding. Testing represents interesting

anomaly for the software. During earlier definition and development phases, it was

attempted to build software from an abstract concept to tangible implementation.

The testing phase involves the testing of the developed system using various test

data. Preparation of the test data plays a vital role in the system testing. After preparing

the test data the system under study was tested using those test data. While testing the

system, errors were found and corrected by using the following testing steps and

corrections are also noted for future use. Thus, a series of testing is performed for the

proposed system, before the system was ready for the implementation. The various types

of testing done on the system are:

History

7.1 Unit Testing:

Unit testing focuses verification effort on the similar unit of software design
the form. This is known as form testing. Since the proposed project has 120 forms, the
testing is done individually on each form. Using the unit test plans, prepared in design
phase of the system development as a guide, important control paths are tested to uncover
error with in the boundary of the module. In this testing step, each module is found to be
working satisfactorily, as regard to the expected output from the module.
White Box Testing
White Box Testing is a testing in which in which the software tester has
knowledge of the inner workings, structure and language of the software, or at least its
purpose. It is purpose. It is used to test areas that cannot be reached from a black box level.
Black Box Testing
Black Box Testing is testing the software without any knowledge of the
inner workings, structure or language of the module being tested. Black box tests, as most
other kinds of tests, must be written from a definitive source document, such as
specification or requirements document, such as specification or requirements document. It
is a testing in which the software under test is treated, as a black box .you cannot “see” into
it. The test provides inputs and responds to outputs without considering how the software
works.

Unit Testing
Unit testing is usually conducted as part of a combined code and unit test
phase of the software lifecycle, although it is not uncommon for coding and unit testing to
be conducted as two distinct phases.
Test strategy and approach
Field testing will be performed manually and functional tests will
be written in detail.
Test objectives
 All field entries must work properly.
 Pages must be activated from the identified link.
 The entry screen, messages and responses must not be delayed.

Features to be tested
 Verify that the entries are of the correct format
 No duplicate entries should be allowed
 All links should take the user to the correct page.
Integration Testing
Software integration testing is the incremental integration testing of two or
more integrated software components on a single platform to produce failures caused by
interface defects.
The task of the integration test is to check that components or software applications, e.g.
components in a software system or – one step up – software applications at the company
level – interact without error.
Test Results: All the test cases mentioned above passed successfully. No defects
encountered.
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.

Testcases
Testcase
Id Objective Description Expected Result
1)Enter URL
To test the 2)Open the webpage Login validation page should
log001 URL 3)Check for GUI open

1)open the webpage


To test the 2) check the GUI It should display webpage with
log002 GUI components label,email,password,submit…etc

1)Open the login page


To validate 2)keep empty the input It should display error message
the Login elements 3)click on as "Please enter email and
log003 page login button password".

To validate 1)Open the login page


the login 2)Enter valid credentials It should display message as
log004 page 3)click on login button "Login successfully ".

mv005 To validate 1)Open the login page It should display error message
2)Enter mobile with less
the mobile than 10 digits as "Please enter mobile number
number 3)click on login button with 10 digits".

1)Open the login page


To validate 2)Enter mobile with greater It should display error message
the mobile than 10 digits as "Please enter mobile number
mv006 number 3)click on login button with 10 digits".

1)Open the login page


To validate 2)Enter mobile number
the mobile starts with 6,7,8,9 digits It should sent OTP to the
mv007 number 3)click on login button respective mobile number

1)Open the login page


2)Enter mobile number
To validate doesnot starts with 6,7,8,9 It should display error message
the mobile digits as "Please enter mobile number
mv008 number 3)click on login button strats with 6,7,8,9 digits".

1)Open the login page


To validate 2)Enter mobile number with It should display error message
the mobile special characters as "Please enter mobile number
mv009 number 3)click on login button with valid digits

1)Open the login page


To validate 2)Enter mobile number with
the mobile valid inputs It should sent OTP to the
mv010 number 3)click on login button respective mobile number

____________________________________________________

This application software has been computed successfully and was also tested

successfully by taking “test cases”. It is user friendly, and has required options, which can

be utilized by the user to perform the desired operations.


The software is developed using Java as front end and Oracle as back end in

Windows environment. The goals that are achieved by the software are:

 Instant access.

 Improved productivity.

 Optimum utilization of resources.

 Efficient management of records.

 Simplification of the operations.

 Less processing time and getting required information.

 User friendly.

 Portable and flexible for further enhancement.

Limitation of the System

1. It is not secure to maintain important information manually

2. More manual hours need to generate required reports

3. It is tedious to manage historical data which needs much space to keep all

the past years applications, books etc.

4. User need to wait more time to get his application status.

5. Data is not in sync in case of manual system.

6. Co-ordination between various branches is very difficult


8.1 Future Enhancements:

It is not possible to develop a system that makes all the requirements of the user. User

requirements keep changing as the system is being used. Some of the future enhancements

that can be done to this system are:

 As the technology emerges, it is possible to upgrade the system and can be

adaptable to desired environment.

 Because it is based on object-oriented design, any further changes can be easily

adaptable.

 Based on the future security issues, security can be improved using emerging

technologies.
____________________________________________________

API Application Program Interface.

DBMS Data Base Management Systems.

DDL Data Definition Language.

DLS Distance Learning System.

DML Data Manipulation Language.

J2sdk Java 2 Software Development Kit.

JDBC Java Data Base Connectivity.

JVM Java Virtual Machine.

OS Operating System.

SQL Structured Query Language.

UML Unified Modeling Language.


____________________________________________________BIBLOGRAPHY

S.NO AUTHOR BOOK PUBLISHIER YEAR

1. Herbert Schildt The Complete Reference Tata McGrw-Hill 2002


Java 2, 5th Edition Publishing Company Ltd

2. George Koch, ORACLE Tata McGrw-Hill 1997


Kevin Loney The Compl ete Reference Publishing Company Ltd
3rd Edition

3. Ivan Bayross SQL, PL/SQL BPB Publications 2002


The Programming Language
Of Oracle, 2nd Edition

4. James A. O’Brien Management Information Irwin/McGrw-Hill 1999


Systems. 4th Edition

5. Matthew robinson Manning - Java Swing Manning 2005


Pavel vorobiev 2nd Edition ()

 Used GOOGLE Search engine for all searches.

You might also like