Professional Documents
Culture Documents
Online Clinic Management System
Online Clinic Management System
Online Clinic Management System
Submitted by
SUBHODIP CHOWDHURY (BWU/BCA/18/088)
DIPTA PAUL (BWU/BCA/18/078)
SURYA KARMAKAR (BWU/BCA/18/110)
NISHAN SARKAR (BWU/BCA/18/153)
ANIKET DAS (BWU/BCA/18/095)
KHOKAN BARMAN (BWU/BCA/18/166)
COMPUTATIONAL APPLICATION
BRAINWARE UNIVERSITY
BRAINWARE UNIVERSITY
398, Ramkrishnapur Road, Barasat, North 24 Parganas, Kolkata - 700 125
BONAFIDE CERTIFICATE
Certified that this project report “ONLINE CLINIC” is the bonafide work of “SUBHODIP
CHOWDHURY, DIPTA PAUL, NISHAN SARKAR, SURYA KARMAKAR, ANIKET DAS, KHOKAN
BARMAN ” who carried out the project work under my supervision.
ABSTRACT Iv
INTRODUCTION Iv
1
[BASICS]
OBJECTIVE V
REQUIREMENTS VII
DIAGRAMS VIII,IX,X,XI
2
[DFD]
GNATT CHART XII
3
SCREENSHOTS & CODE XIII-XXIV
[ SCREENSHOTS &
SOURCE CODE ]
TESTING XXIV
REFERENCES XXV
Page 04
Chapter 1 [BASICS]
ABSTRACT
This system is easy and simple to use by the user. This system is able to
check the inventory for the medicine in the clinic. . If any medicine will be
out of stock then that particular medicine name will be highlighted with red
color. The target user for this system is staff of the clinic, doctor and also
the management. Other than that, the system is user friendly and it can help
the clinic to manage their activity. Overall this system is able to support the
daily clinic operation based on evaluation from real user and the system is
able to perform the task correctly. The patient gets the treatment and data
about the treatment is recorded into the system. The system has few
modules such as patient registration, medicine registration, disease
registration and treatment history, patient record search, appointment and
reporting.
INTRODUCTION
collection per day. This Clinic Management System Project will keep track
of each and every medicine which is available in medicine store.
OBJECTIVE
● To achieve this aim by liaising with the doctors and staff, other
community health workers, and other persons or organisations
concerned with health care.
Bcrypt
cool-ascii-faces
cors
dotenv
ejs
express
express-flash
express-ip
express-session
passport
passport-local
pg
pg-hstore
sequelize
4. Database
The connection of database with the web pages been done using
PostgreSQL.
5. Server : Localhost
Page 08
CHAPTER-2
SDLC Model followed
LEVEL-0 DFD DIAGRAM
MAKE PAYMENT
BOOK APPOINTMENT
APPOINTMENT DETAILS
ADMIN
Page 09
REGISTER / DOCTOR
USER
PAYMENT TABLE LOG IN LOG IN
APPOINTMENT CONFIRMED
P3
PAYMENT
Page 10
USER AUTHENTIFICATION
ONLINE CLINIC
MANAGEMENT
SYSTEM
Validation of data
P1.2.3
USER ID
VALIDATION
VALIDATED ACCOUNT
CUSTOMER
& USER RECORD
Page 11
Medex Clinic
Menu Bar
Log In
Successfully
Registered
Payment
Gnatt Chart
Page 13
Chapter 3
Screenshots:
Front Page:
Sign in Page:
Page 14
Doctors Panel:
Doctor’s Panel:
Page 15
Admin Panel:
Payment Gateway:
res.send(data);
}
);
});
app.get('/doctors-panel/getdata/count-total', checkNotAuthenticated1, function(req, res) {
var data = url.parse(req.url, true);
data = data.query;
date = data.date;
var doctor_id = req.user.id;
console.log(doctor_id);
pool.query(
`SELECT count(appointment_booking.id), users.fees, count(appointment_booking.id)*users.fees
as total
FROM appointment_booking, users
WHERE appointment_booking.doctor_id = users.id and users.id = ($1) and appointment_date =
($2)
Page 21
res.send(data);
}
);
});
app.get("/doctors-panel/status", async (req, res) => {
if(status == 'done') {
status = 'Done';
}
else if(status == 'absent') {
status = 'Absent';
}
else {
status = 'null';
}
pool.query(
`UPDATE appointment_booking
SET status = ($1)
WHERE id = ($2)`,
[status, patient_id],
(err, results) => {
if (err) {
throw err;
}
//res.redirect("/doctors-panel");
res.send();
}
);
});
console.log({
name,
fees,
email,
password,
password2
});
if (password.length < 6) {
errors.push({ message: "Password must be a least 6 characters long" });
}
if (errors.length > 0) {
res.render("register", { errors, name, fess, email, password, password2 });
} else {
hashedPassword = await bcrypt.hash(password, 10);
console.log(hashedPassword);
// Validation passed
pool.query(
`SELECT * FROM users
WHERE email = $1`,
[email],
(err, results) => {
if (err) {
console.log(err);
}
console.log(results.rows);
if (results.rows.length > 0) {
return res.render("register", {
message: "Email already registered"
});
} else {
pool.query(
Page 23
`INSERT INTO users (name, fees, email, password)
VALUES ($1, $2, $3, $4)
RETURNING id, password`,
[name, fees, email, hashedPassword],
(err, results) => {
if (err) {
throw err;
}
console.log(results.rows);
req.flash("success_msg", "You are now registered. Please log in");
res.redirect("/doctors-panel/login");
}
);
}
}
);
}
});
app.post(
"/doctors-panel/login",
passport.authenticate("local", {
successRedirect: "/doctors-panel",
failureRedirect: "/doctors-panel/login",
failureFlash: true
})
);
function checkAuthenticated(req, res, next) {
if (req.isAuthenticated()) {
return res.redirect("/doctors-panel");
}
next();
}
function checkNotAuthenticated(req, res, next) {
if (req.isAuthenticated()) {
return next();
}
res.redirect("/doctors-panel/login");
}
function checkNotAuthenticated1(req, res, next) {
if (req.isAuthenticated()) {
return next();
}
res.redirect("/doctors-panel/login");
}
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});
app.get('/index/getdoctors', function(req, res) {
pool.query(
`SELECT id, name, fees, email FROM users
WHERE status = 'Activated'
Page 24
order by name;`,
(err, results) => {
if (err) {
throw err;
}
let data = results.rows;
res.send(data) } );
});
Chapter 4
Testing
Alpha Testing :
Alpha Testing is a type of software testing performed to identify bugs before
releasing the software product to the real users or public. It is a type
of acceptance testing. The main objective of alpha testing is to refine the software
product by finding and fixing the bugs that were not discovered through previous
tests.
Beta Testing :
Beta testing starts right after Alpha testing. Product's beta version is ready to be tested.
User manuals are ready and published containing all the list of known issues. Maintaining a
log of bugs, feedback using a tool which can help in documentation as well.
FUTURE SCOPE
FUTURE SCOPE: Their number might differ depending on the clinic needs, however, it
usually includes some basic Clinic information system modules.
Client management
It is used to control patient flow. It can be used to register them, get the data of the
patients’ health condition, view the treatment and check the medical history and reports.
Facility management
The facility management module is responsible for tracking and maintaining the room
availability, the occupancy status as well as various kinds of administrative
documentation.
Page 25
Staff Management
Staff management module provides the human resources administration. It updates the
job description of employees, updates the hospital structure, tracks the recruiting records.
Medicine management
Medicine management module contains the list of drugs that usually used for the specific
treatment. It keeps records of every patient’ drugs used during their treatment.
REFERENCES
List of References –The reference material should be listed in the alphabetical order of the first
author. The name of the author/authors should be immediately followed by the year and other
details.
A typical illustrative list given below relates to the citation example quoted above.
REFERENCES
1. www.W3School.com
2. www.stackoverflow.com
3. www.google.com
4. www.youtube.com
Thank You