You are on page 1of 47

A

Project Report

of
online laundry management system

Designed & Developed


by
Mr. SACHIN KANOJIYA
Guided by: Prof. GIRISH TERE

Submitted in Fulfillment ofAcademicProject


[Bachelor Of Science-Computer Science]

[University Of Mumbai]
A REPORT ON ONLINE LAUNDRY MANAGEMENT SYSTEM

A PROJECT SUBMITTED TO
THE UNIVERSITY OF MUMBAI FOR PARTIAL COMPLETION OF THE
DEGREE OF
BACHELOR OF SCIENCE STUDIES

UNDER THE FACULTY OF COMPUTER SCIENCE

BY

SACHIN PREMCHANDRA KANOJIYA


UNDER THE GUIDANCE OF
MR. GIRISH TERE

THAKUR COLLEGE OF SCIENCE AND COMMERCE, KANDIVALI


(EAST)
MUMBAI , MAHARASHTRA 400101

MARCH, 2022.
DECLARATION BY LEARNER

I the undersigned MR. SACHIN PREMCHANDRA KANOJIYA hereby, declare that the
work embodied in this project work titled “ONLINE LAUNDRY MANAGEMENT
SYSTEM” forms my own contribution to the research work carried out under the guidance
of Prof. GIRISH TERE is a result of my own research work and has not been previously
submitted to any other University for any other Degree/Diploma to this or any other
University.

Wherever reference has been made to previous works of others, it has been clearly indicated
as such and included in the bibliography.

I, hereby further declare that all information of this document has been obtained and
presented in accordance with academic rules and ethical conduct.

Name and signature of the learner

SACHIN KANOJIYA

Certified By

Name and Signature of Guiding Teacher

MR. GIRISH TERE


CERTIFICATE

This is to certify that MR. SACHIN PREMCHANDRA KANOJIYA has worked and duly
completed her Project
Work for the Degree of Bachelor in Management Studies under the Faculty of Commerce in
the subject of Marketing and her project is entitled, “online laundry management
system” under my supervision.

I further certify that the entire work has been done by the learner under my guidance and that
no part of it has been submitted previously for any Degree or Diploma of any University.

It is her own work and facts reported by her personal findings and investigations.

Dr. C.T. CHAKRABORTY Dr. PROF. GIRISH TERE


Principal Coordinator Project Guide

INTERNAL EXAMINER EXTERNAL EXAMINER

Date of submission:
ACKNOWLEDGEMENT

I take this opportunity to express my deep


regards to all those who offered their support,
guidance and co-operation while designing this
website. I want to express my gratitude to the
management of Thakur college of Arts, Sci &
Commerce for giving me the opportunity to
accomplish this project work.
I would like to show my greatest appreciation to
Prof. GIRISH TERE without whose encouragement
and guidance this project would not have materialized.
A special thanks to my family and all my friends who
where there for me throughout the project.

- SACHIN KANOJIYA
DECLARATION

I ‘Mr.Sachin Kanojiya’ hereby declare that I myself


have completed the project under the guidance of
‘Mr.GIRISH TERE. I on my own have created the
website and have done all the programming required.
It may require some modifications in
the future as per the user’s requirements.
From practical implementation point of view,
flexibility in the changes have been incorporated in
the package and I am sure that I can satisfy the same
in future.
- SACHIN KANOJIYA
INDEX
Sr. No. Topic Page No.
1. INTRODUCTION
2. Scope or Benefit
3. ABOUT PROJECT
4. Manage Transactions
5.
Expenditure and Reports
6. AIMS AND OBJECTIVE
7. INDIVIDUAL REPORT
8. IMPLEMENTATION
9. SCREENSHOTS
10. CONCLUSION

11. REFERENCES
**INTRODUCT
ION**

While digital automation allows countries and businesses to


produce goods and services at alarming scale, increasing
labour productivity and expanding operations at marginal
cost, this could minimize the need for manual workers.
Recent advances in automation thus have the potential to
affect a radical reshaping of work
The existing systems in our indigenous environment require
numerous paper forms, with data stores spread all over the
laundry management infrastructure. Information in this type
of system is often incomplete, inaccurate, lost in transit
during computation and sometimes duplicated . Therefore,
the business workflow is at low ebb. As multiple copies of
the same information exist in the laundry firm data, which
would lead to data inconsistencies, problems such as mix-up
with customer clothing, loss of customer clothing, late
delivery, inability to account for certain customer items,
inefficient organization methods (cataloging), insufficient
collation of reports for managerial or company use, lack of
real-time data back-up in case of mishaps, tend to arise from
the existing system and the manual approach. To attend to
these issues, Reference [4] introduced a management
system concept to laundry system.

**Scope or
Benefit **

a) Point of Sale (POS)

Laundry management system enables you to communicate

seamlessly with the customers via messaging systems. It

prevents employees from gaining access to sensitive

business data. Dry cleaning POS software sets your

customized services, garment lists, and price list. The

software keeps track of workload to give a fixed delivery

rate, does automatic email and short messaging services

(SMS) reminders to the customer.

b) Store Management
The laundry management system maintains a database of

the employees that display role-oriented tasks to the

employees. It also stores and sustains customer

information, service preferences, and communication

preferences.

c) Home Pickup and Delivery


The auto-routing feature of laundry management system
ensures you to make the deliveries and pickups on time. The
integration of laundry management system software with
google maps renders a best in class navigation service for
pickup and delivery.

d) Acquisition and Retention


The laundry management system creates and assigns
prepaid packages to consumers to enhance customer loyalty.
Commercial laundry software solutions provide
personalized customer service to make customers feel
valued and know their experience to improve the service.
Laundry management system software applies flat
percentage discounts to reward all high paying customers.

e) Analytics
With dry cleaning software, you can track the health of the
business and comprehend by what percentage the company
is progressing. The graphical representation of the business
operations in the form of graphs and piecharts provides
better insight into the market. It calculates the customer
satisfaction index and compares business performances
based on days, weeks, months, and years.

f) Accounting and Reporting


Laundry management system software ensures automatic
payment reconciliation from your bank and different
gateways. It keeps track of all the operational and non-
operational expenses and creates a customized report with
date, order filters, and customers. The system generates
accessible accounting reports and creates ledgers to manage
and track all the direct and indirect expenses and income.
g) Workplace Management
The laundry management system categorizes garments
based on due dates and services. It aids you in apprehending
the status of your workplace and minimizes the turnaround
time.
h) Multi-store Management
With laundry management system software, you can supervise
your store on a single platform. It enables you to monitor how
your store is performing in a clarified view and edit price list
and garment list as per your business requirement.

i) Hardware
It is possible to integrate various equipment with the dry
cleaning software. It could tag printers to barcode the
garment and packing sticker for finished orders. Several
printers and scanner also incorporated to streamline the
workflow.
j) Sales and Marketing
Laundry management system software assists in promotion

as well. Sending promotional messages and featurerich

mails at an impressive rate to the customer will ensure

retention and engagement.

k) Security

Commercial laundry software solutions avail


uncompromised protection to its users. You can oversee
employee activities at all times with the extensive activity
log. It takes the back up of your business data daily for
future references.
About Laundry Management System PHP Project

Moving on, this Laundry Management System project in PHP


CodeIgniter focuses mainly on keeping track of various
services. Also, the system displays all the records with their
respective details of each. In addition, the system allows
adding expenditures too. The project only contains an admin
panel. In an overview of this web application, an admin has all
the access to the system. An admin has the right to manage
employees as well as customers. For the functioning of the
system, it requires employees as well as customer records.
There are several fields under these sections. Employee
records include sections such as name, gender, contact details,
salary, join, and end date. Similarly, the admin must provide
customer details such as name, address, and contact in order to
insert their records.
Manage Transactions

The transaction section is all about the management aspect of


the laundry service’s transactions. There are several fields that
are required to be filled earlier by the administrator. Those
fields are the details of the customers as well as employees. In
order to manage transactions, the admin has to select available
employees, customers, and enter laundry weight, order, and
finished date. After setting all these, the system automatically
charges a certain amount with respect to their particular
weights. The system also allows printing transactions notes for
the pending transactions. And also, an admin can update and
delete each transaction anytime. The system displays all the
transaction amounts under the income field.
Expenditure and Reports

Another thing about this project is setting up the expenditures


for the services. For the expenditure, the admin can simply pay
salaries to all available employees too. This will result in an
increment of expenditure amount under a certain year and
month. Also, an admin can set up expenditures manually. For
this, an admin has to provide details such as details, amount,
employee, and expenditure data. The system displays all the
expenditure amounts under the expenditure field. Additionally,
the system calculates overall profit from the year by
calculating expenditure and total income. Besides, the user can
generate reports under each section. Such as Employees,
Customers, Transactions, and Expenditure. By generating
reports, an admin can print it out or simply download it as a
PDF. Here, the report section contains filters on various
sections.

Last but not least, a clean and simple dashboard is presented


using SB Admin 2 Bootstrap Template with simple color
combinations for greater user experience while using this
Online Laundry Management System Project in PHP MySQL
CodeIgniter Framework. For its UI elements, a free open-
source CSS framework; Bootstrap is on board with some
Vanilla CSS too. Presenting a new Online Laundry
Management System Project in PHP MySQL which includes
an admin panel that contains all the essential features to follow
up, and a knowledgeable resource for learning purposes.
**AIMS AND OBJECTIVES**

The main aim and objective of this project is to design and


implement a website which consists of these basic features: -
Responsive Front-end interface - Connection to a database for
data storage - Registering the admins - Display the services
on the website -- Enable the user to check the management

 Admin Panel
 Manage Employees and Customers
 Manage Laundry Transactions
 Auto Laundry Charge
 Print Transactions Note
 Set Expenditures
 Pay Employee Salaries
 Generate Reports (PDF)
 Filter Records
 Profit/Loss Calculations
** INDIVIDUAL REPORT**

Project Name :Laundry Management System


Language/s Used :PHP with CodeIgniter Web
Framework
Database :MySQL
Type : Web Application
Operating System : Microsoft windows 10
Web Server : IIS
Web Browser : chrome
Editor : Notepad
Hardware : 64-bit processor, 1.70 GHz,
4.00 GB RAM
**ER digram**
**CODE**

_ Index_

<?php

define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');

switch (ENVIRONMENT)

case 'development':

error_reporting(-1);

ini_set('display_errors', 1);

break;

case 'testing':

case 'production':

ini_set('display_errors', 0);

if (version_compare(PHP_VERSION, '5.3', '>='))

error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT &


~E_USER_NOTICE & ~E_USER_DEPRECATED);

else

error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_USER_NOTICE);

break;

default:

header('HTTP/1.1 503 Service Unavailable.', TRUE, 503);

echo 'The application environment is not set correctly.';


exit(1);

$system_path = 'system';

$application_folder = 'application';

$view_folder = '';

if (defined('STDIN'))

chdir(dirname(__FILE__));

if (($_temp = realpath($system_path)) !== FALSE)

$system_path = $_temp.DIRECTORY_SEPARATOR;

else

// Ensure there's a trailing slash

$system_path = strtr(

rtrim($system_path, '/\\'),

'/\\',

DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR

).DIRECTORY_SEPARATOR;

// Is the system path correct?

if ( ! is_dir($system_path))

header('HTTP/1.1 503 Service Unavailable.', TRUE, 503);

echo 'Your system folder path does not appear to be set correctly. Please open the following
file and correct this: '.pathinfo(__FILE__, PATHINFO_BASENAME);

exit(3);

define('SELF', pathinfo(__FILE__, PATHINFO_BASENAME));

define('BASEPATH', $system_path);

define('FCPATH', dirname(__FILE__).DIRECTORY_SEPARATOR);
define('SYSDIR', basename(BASEPATH));

if (is_dir($application_folder))

if (($_temp = realpath($application_folder)) !== FALSE)

$application_folder = $_temp;

else

$application_folder = strtr(

rtrim($application_folder, '/\\'),

'/\\',

DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR

);

elseif (is_dir(BASEPATH.$application_folder.DIRECTORY_SEPARATOR))

$application_folder = BASEPATH.strtr(

trim($application_folder, '/\\'),

'/\\',

DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR

);

else

header('HTTP/1.1 503 Service Unavailable.', TRUE, 503);

echo 'Your application folder path does not appear to be set correctly. Please open the
following file and correct this: '.SELF;

exit(3); // EXIT_CONFIG

define('APPPATH', $application_folder.DIRECTORY_SEPARATOR);
if ( ! isset($view_folder[0]) && is_dir(APPPATH.'views'.DIRECTORY_SEPARATOR))

$view_folder = APPPATH.'views';

elseif (is_dir($view_folder))

if (($_temp = realpath($view_folder)) !== FALSE)

$view_folder = $_temp;

else

$view_folder = strtr(

rtrim($view_folder, '/\\'),

'/\\',

DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR

);

elseif (is_dir(APPPATH.$view_folder.DIRECTORY_SEPARATOR))

$view_folder = APPPATH.strtr(

trim($view_folder, '/\\'),

'/\\',

DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR

);

else

header('HTTP/1.1 503 Service Unavailable.', TRUE, 503);

echo 'Your view folder path does not appear to be set correctly. Please open the following file
and correct this: '.SELF;
exit(3); // EXIT_CONFIG

define('VIEWPATH', $view_folder.DIRECTORY_SEPARATOR);

require_once BASEPATH.'core/CodeIgniter.php';

_login_

<?php

if (isset($_GET['pesan'])) {

if ($_GET['pesan'] == "gagal") {

echo "<div class='alert alert-danger'>Login failed! Incorrect username and password.</div>";

} else if ($_GET['pesan'] == "logout") {

echo "<div class='alert alert-danger'>You have logged out.</div>";

} else if ($_GET['pesan'] == "belumlogin") {

echo "<div class='alert alert- success'>Please login first.</div>";

?>

<body class="bg-gradient-dark">

<div class="container">

<!-- Outer Row -->

<div class="row justify-content-center">

<div class="col-xl-6 col-lg-6 col-md-9 mt-3">

<div class="card o-hidden border-0 shadow-lg my-5">

<div class="card-body p-0">

<div class="p-5">
<div class="text-center py-3">

<img src="<?php echo base_url() ?>assets/img/logo.png" class="w-25 px-3 rounded-circle


mb-3">

<h1 class="h2 text-gray-900">Laundry System</h1>

<h4 class="h4 text-primary my-3">Login</h4>

</div>

<form method="post" class="w-75 m-auto pt-3" action="<?php echo


base_url()?>welcome/login">

<div class="form-group">

<input type="text" class="form-control"

id="username" aria-describedby="emailHelp"

placeholder="Username" name="username">

</div>

<div class="form-group">

<input type="password" class="form-control"

id="password" placeholder="Password" name="password">

</div>

<hr class="pt-3">

<button href="#" class="btn btn-success btn-user btn-block" type="submit">

Login

</button>

</form>

</div>

</div>

</div>

</div>

</div>

</div>
_database_

-- phpMyAdmin SQL Dump

-- version 4.6.5.2

-- https://www.phpmyadmin.net/

--

-- Host: 127.0.0.1

-- Generation Time: Aug 09, 2021 at 11:49 AM

-- Server version: 5.6.21

-- PHP Version: 5.6.3

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";

SET time_zone = "+00:00";

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;

/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;

/*!40101 SET NAMES utf8mb4 */;

-- Database: `laundrycim`

-- Table structure for table `karyawan`

CREATE TABLE `karyawan` (

`karyawan_id` char(4) NOT NULL,

`nama_karyawan` varchar(50) NOT NULL,

`jeniskelamin` varchar(10) NOT NULL,

`alamat` text NOT NULL,

`no_hp` varchar(15) NOT NULL,

`gaji_perbulan` int(11) NOT NULL,

`tgl_bergabung` date NOT NULL,

`tgl_berhenti` date NOT NULL,

`aktif` int(1) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Dumping data for table `karyawan`


INSERT INTO `karyawan` (`karyawan_id`, `nama_karyawan`, `jeniskelamin`, `alamat`, `no_hp`, `gaji_perbulan`,
`tgl_bergabung`, `tgl_berhenti`, `aktif`) VALUES

('K000', 'sachin kanojiya', 'Male', 'nsp(e)', '07796842775', 0, '2018-01-01', '0000-00-00', 2),

-Table structure for table `pelanggan`

CREATE TABLE `pelanggan` (

`id` int(11) NOT NULL,

`pelanggan_id` char(150) NOT NULL,

`nama_pelanggan` varchar(50) NOT NULL,

`jeniskelamin` varchar(10) NOT NULL,

`alamat` text NOT NULL,

`no_hp` varchar(15) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Dumping data for table `pelanggan`

INSERT INTO `pelanggan` (`id`, `pelanggan_id`, `nama_pelanggan`, `jeniskelamin`, `alamat`, `no_hp`) VALUES

(1, 'P001', 'saurabh', 'male', 'taki road', '09921768372');

-- Table structure for table `pengeluaran`

CREATE TABLE `pengeluaran` (

`pengeluaran_id` varchar(14) NOT NULL,

`total` int(11) NOT NULL,

`detail` varchar(100) NOT NULL,

`tgl_pengeluaran` date NOT NULL,

`karyawan_id` varchar(6) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Dumping data for table `pengeluaran`

INSERT INTO `pengeluaran` (`pengeluaran_id`, `total`, `detail`, `tgl_pengeluaran`, `karyawan_id`) VALUES

('20210130093105', 5503, 'sachin ', '2021-01-01', 'K004'),

-- Table structure for table `transaksi`

CREATE TABLE `transaksi` (

`transaksi_id` varchar(14) NOT NULL,

`pelanggan_id` char(7) NOT NULL,

`karyawan_id` char(6) NOT NULL,

`berat` int(11) NOT NULL,


`total` int(11) NOT NULL,

`tgl_order` date NOT NULL,

`tgl_selesai` date DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Dumping data for table `transaksi`

INSERT INTO `transaksi` (`transaksi_id`, `pelanggan_id`, `karyawan_id`, `berat`, `total`, `tgl_order`, `tgl_selesai`)
VALUES

('20210130151203', 'P001', 'K004', 12, 46, '2021-01-01', '2021-01-03'),

('20210130151243', 'P002', 'K004', 15, 58, '2021-01-01', '2021-01-04'),

('20210130151304', 'P003', 'K004', 15, 58, '2021-01-02', '2021-01-04'),

('20210130151345', 'P004', 'K004', 20, 77, '2021-01-02', '2021-01-05'),

('20210130164704', 'P002', 'K004', 25, 96, '2021-01-05', '2021-01-08'),

('20210130164722', 'P005', 'K004', 25, 96, '2021-01-07', '2021-01-09'),

('20210130164748', 'P003', 'K004', 18, 69, '2021-01-08', '2021-01-10'),

('20210130164804', 'P001', 'K004', 19, 73, '2021-01-10', '2021-01-12'),

('20210130164821', 'P004', 'K004', 20, 77, '2021-01-11', '2021-01-13'),

('20210130164855', 'P003', 'K004', 22, 85, '2021-01-13', '2021-01-15'),

('20210130164918', 'P002', 'K004', 11, 42, '2021-01-16', '2021-01-18'),

('20210130170149', 'P005', 'K004', 15, 58, '2021-01-17', '2021-01-19'),

('20210130170220', 'P001', 'K004', 8, 31, '2021-01-17', '2021-01-20'),

('20210130170251', 'P004', 'K004', 18, 69, '2021-01-20', '2021-01-22'),

('20210130170310', 'P003', 'K004', 29, 112, '2021-01-21', '2021-01-23'),

('20210130171108', 'P006', 'K004', 20, 77, '2021-01-21', '2021-01-23'),

('20210130171129', 'P007', 'K004', 18, 69, '2021-01-22', '2021-01-24'),

('20210130171209', 'P005', 'K004', 17, 65, '2021-01-23', '2021-01-25'),

('20210130171253', 'P002', 'K004', 19, 73, '2021-01-24', '2021-01-26'),

('20210130171310', 'P004', 'K004', 20, 77, '2021-01-25', '2021-01-27'),

('20210130171348', 'P001', 'K004', 17, 65, '2021-01-26', '2021-01-28'),

('20210130171433', 'P006', 'K004', 8, 31, '2021-01-26', '2021-01-28'),

('20210130171537', 'P003', 'K004', 15, 58, '2021-01-27', '2021-01-29'),

('20210130171617', 'P007', 'K004', 10, 39, '2021-01-27', '2021-01-29'),

('20210130171846', 'P005', 'K004', 46, 177, '2021-08-03', '2021-08-05'),

('20210130172114', 'P004', 'K004', 21, 81, '2021-08-02', '2021-08-05'),


('20210627232518', 'P008', 'K004', 5, 19, '2021-06-26', '2021-06-27'),

('20210805150525', 'P009', 'K004', 14, 54, '2021-08-05', '2021-08-05'),

('20210805153848', 'P007', 'K005', 73, 281, '2021-07-07', '2021-08-05'),

('20210805211713', 'P002', 'K005', 36, 139, '2021-08-05', '2021-08-05'),

('20210806005743', 'P0010', 'K006', 19, 73, '2021-08-05', '2021-08-05');

-- Table structure for table `user`

CREATE TABLE `user` (

`user_id` char(4) NOT NULL,

`namauser` varchar(30) DEFAULT NULL,

`username` varchar(20) DEFAULT NULL,

`password` varchar(255) DEFAULT NULL,

`level` char(16) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- Dumping data for table `user`

INSERT INTO `user` (`user_id`, `namauser`, `username`, `password`, `level`) VALUES

('U001', 'Liam Moore', 'admin', 'D00F5D5217896FB7FD601412CB890830', 'superuser');

-- Indexes for dumped tables

-- Indexes for table `karyawan’

ALTER TABLE `karyawan`

ADD PRIMARY KEY (`karyawan_id`);

-- Indexes for table `pelanggan`

ALTER TABLE `pelanggan`

ADD PRIMARY KEY (`pelanggan_id`),

ADD UNIQUE KEY `UNIQUE` (`id`);

-- Indexes for table `pengeluaran`

--

ALTER TABLE `pengeluaran`

ADD PRIMARY KEY (`pengeluaran_id`);

-- Indexes for table `transaksi`

ALTER TABLE `transaksi`

ADD PRIMARY KEY (`transaksi_id`);

-- Indexes for table `user`


ALTER TABLE `user`

ADD PRIMARY KEY (`user_id`);

-- AUTO_INCREMENT for dumped tables

-- AUTO_INCREMENT for table `pelanggan`

ALTER TABLE `pelanggan`

MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;

/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

_Dashboard_
<!-- Begin Page Content -->

<div class="container-fluid">

<!-- Page Heading -->

<div class="d-sm-flex align-items-center justify-content-between mb-4">

<h1 class="h3 mb-0 text-gray-800">Dashboard</h1>

</div>

<!-- Content Row -->

<div class="row">

<!-- Number of Rows of Employee Table -->

<div class="col-xl-3 col-md-6 mb-4">

<div class="card border-left-dark shadow h-100 py-2">

<div class="card-body">

<div class="row no-gutters align-items-center">

<div class="col mr-2">

<div class="text-xs font-weight-bold text-dark text-uppercase mb-1">Registered


Employees</div>

<div class="row no-gutters align-items-center">

<div class="col-auto">
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800"><?php echo $n_karyawan ?
></div>

</div>

</div>

</div>

<div class="col-auto">

<i class="fas fa-user-tie fa-2x text-gray-500"></i>

</div>

</div>

</div>

</div>

</div>

<!-- Number of Rows of Customer Table -->

<div class="col-xl-3 col-md-6 mb-4">

<div class="card border-left-info shadow h-100 py-2">

<div class="card-body">

<div class="row no-gutters align-items-center">

<div class="col mr-2">

<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Customers</div>

<div class="row no-gutters align-items-center">

<div class="col-auto">

<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800"><?php echo $n_pelanggan ?


></div>

</div>

</div>

</div>

<div class="col-auto">

<i class="fas fa-users fa-2x text-gray-500"></i>

</div>

</div>

</div>
</div>

</div>

<!-- Number of Rows of Transaction Table -->

<div class="col-xl-3 col-md-6 mb-4">

<div class="card border-left-primary shadow h-100 py-2">

<div class="card-body">

<div class="row no-gutters align-items-center">

<div class="col mr-2">

<div class="text-xs font-weight-bold text-primary text-uppercase mb-1">Total


Transaction</div>

<div class="row no-gutters align-items-center">

<div class="col-auto">

<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800"><?php echo $n_transaksi ?


></div>

</div>

</div>

</div>

<div class="col-auto">

<i class="fas fa-receipt fa-2x text-gray-500"></i>

</div>

</div>

</div>

</div>

</div>

<!-- Number of Rows of Active Transaction Table -->

<div class="col-xl-3 col-md-6 mb-4">

<div class="card border-left-warning shadow h-100 py-2">

<div class="card-body">

<div class="row no-gutters align-items-center">

<div class="col mr-2">


<div class="text-xs font-weight-bold text-warning text-uppercase mb-1">Pending
Transaction</div>

<div class="row no-gutters align-items-center">

<div class="col-auto">

<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800"><?php echo


$n_transaksi_aktif ?></div>

</div>

</div>

</div>

<div class="col-auto">

<i class="fas fa-circle-notch fa-2x text-gray-500"></i>

</div>

</div>

</div>

</div>

</div>

<!-- Total Income (This year) -->

<div class="col-xl-4 col-md-6 mb-4">

<div class="card border-left-success shadow h-100 py-2">

<div class="card-body">

<div class="row no-gutters align-items-center">

<div class="col mr-2">

<div class="text-xs font-weight-bold text-success text-uppercase mb-1">Income (This


year)</div>

<div class="row no-gutters align-items-center">

<div class="col-auto">

<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800">$ <?php echo


$total_pendapatan ?></div>

</div>

</div>

</div>

<div class="col-auto">
<i class="fas fa-dollar-sign fa-2x text-gray-500"></i>

</div>

</div>

</div>

</div>

</div>

<!-- Total Expenditure (This year) -->

<div class="col-xl-4 col-md-6 mb-4">

<div class="card border-left-danger shadow h-100 py-2">

<div class="card-body">

<div class="row no-gutters align-items-center">

<div class="col mr-2">

<div class="text-xs font-weight-bold text-danger text-uppercase mb-1">Expenditure (This


year)</div>

<div class="row no-gutters align-items-center">

<div class="col-auto">

<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800">$ <?php echo


$total_pengeluaran ?></div>

</div>

</div>

</div>

<div class="col-auto">

<i class="fas fa-share-square fa-2x text-gray-500"></i>

</div>

</div>

</div>

</div>

</div>

<?php

$exp1 = $total_pengeluaran;
$exp2 = $total_pendapatan;

$exp3 = $exp1 - $exp2;

?>

<!-- Total Profit (This year) -->

<div class="col-xl-4 col-md-6 mb-4">

<div class="card border-left-info shadow h-100 py-2">

<div class="card-body">

<div class="row no-gutters align-items-center">

<div class="col mr-2">

<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Profit (This


year)</div>

<div class="row no-gutters align-items-center">

<div class="col-auto">

<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800">$ <?php echo


$total_keuntungan ?> <?php if($exp1 > $exp2){ echo '<small>(Loss)</small>';}?></div>

</div>

</div>

</div>

<div class="col-auto">

<i class="fas fa-hand-holding-usd fa-2x text-gray-500"></i>

</div>

</div>

</div>

</div>

</div>

</div>

</div>

<!-- /.container-fluid -->

</div>

<!-- End of Main Content -->


_footer_

<!-- Footer -->

<footer class="sticky-footer bg-white">

<div class="container my-auto">

<div class="copyright text-center my-auto">

<p>Page rendered in <strong>{elapsed_time}</strong> seconds. <?php echo (ENVIRONMENT ===


'development') ? 'CodeIgniter Version <strong>' . CI_VERSION . '</strong>' : '' ?></p>

<span>&copy; Laundry Management System - <?php echo date('Y')?></span>

</div>

</div>

</footer>

<!-- End of Footer -->

</div>

<!-- End of Content Wrapper -->

</div>

<!-- End of Page Wrapper -->

<!-- Scroll to Top Button-->

<a class="scroll-to-top rounded" href="#page-top">

<i class="fas fa-angle-up"></i>

</a>

<!-- Logout Modal-->

<div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"

aria-hidden="true">

<div class="modal-dialog" role="document">

<div class="modal-content">

<div class="modal-header">

<h5 class="modal-title" id="exampleModalLabel">Ready to Leave?</h5>

<button class="close" type="button" data-dismiss="modal" aria-label="Close">


<span aria-hidden="true">×</span>

</button>

</div>

<div class="modal-body">Select "Logout" below if you are ready to end your current session.</div>

<div class="modal-footer">

<button class="btn btn-secondary" type="button" data-dismiss="modal">Cancel</button>

<a class="btn btn-primary" href="<?php echo base_url().'index.php/login' ?>">Logout</a>

</div>

</div>

</div>

</div>

_Header_
<?php

defined('BASEPATH') OR exit('No direct script access allowed');

?>

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="utf-8">

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

<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

<meta name="description" content="">

<meta name="author" content="">

<title>Laundry Management System-CI</title>

<!-- Custom fonts for this template-->

<link href="<?php echo base_url().'assets/css/style.css' ?>" rel="stylesheet">

<link href="<?php echo base_url().'assets/vendor/fontawesome-free/css/all.min.css' ?>" rel="stylesheet"


type="text/css">
<link

href="https://fonts.googleapis.com/css?
family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"

rel="stylesheet">

<!-- Custom styles for this template-->

<link href="<?php echo base_url().'assets/css/sb-admin-2.min.css' ?>" rel="stylesheet">

<!-- Datatables-->

<link href="<?php echo base_url().'assets/vendor/datatables/dataTables.bootstrap4.min.css' ?>"


rel="stylesheet">

</head>

_Employee_

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Data_karyawan extends CI_Model {

public function get_data() {

return $this->db->get('karyawan');

public function count_rows() {

return $this->db->count_all('karyawan');

public function get_records($karyawan_id){

$where = array('karyawan_id' => $karyawan_id);

$this->db->where($where);

return $this->db->get('karyawan');

public function filter($dari, $sampai){

return $this->db->query("select * from karyawan where (tgl_berhenti >= '$dari' and


tgl_berhenti <= '$sampai') or (tgl_bergabung <= '$sampai' and tgl_berhenti = '0000-00-00') and (aktif <= 1)");
}

public function insert_data($data, $table){

$this->db->insert($table, $data);

public function update_data($karyawan_id, $data, $table){

$where = array('karyawan_id' => $karyawan_id);

$this->db->where($where);

return $this->db->update($table, $data);

public function delete_data($karyawan_id, $table){

$where = array('karyawan_id' => $karyawan_id);

$this->db->where($where);

return $this->db->delete($table);

}
**
output**
**conclusion*

In recent times, the evolution of technology has brought


about constant need for convenience in the way businesses
operate. Every consumer of a service wants to be able to
consume that service with ease and satisfaction without
compromising the quality of such service. With the
increase in the number of patronage of laundry firms, the
proliferation of online laundry management systems would
make life easier. This implementation is a web application
for laundry management in a view to providing
convenience for users and providers of laundry services.
This system is recommended to the adopted or adapted by
the indigenous laundry systems upon which usage could
bring about improvement.
**REFERENCES**

 https://www.w3schools.com/php/default.asp
 https://www.w3schools.com/html/default.asp
 https://www.w3schools.com/sql/default.asp
 https://codeastro.com/laundry-management-
system-in-php-codeigniter-with-source-code/
 https://www.youtube.com/watch?v=qjwc8ScTHnY
 https://www.youtube.com/watch?v=fV8ointgMeQ

You might also like