Sistem Manajemen Klinik Berbasis Web adalah perangkat lunak yang dirancang untuk mengelola operasional dan data klinik secara daring melalui internet.
"Aku tidak berilmu; yang berilmu hanyalah DIA. Jika tampak ilmu dariku, itu hanyalah pantulan dari Cahaya-Nya."
Sistem Manajemen Klinik ini adalah sebuah aplikasi web yang dibangun menggunakan Laravel 12. Aplikasi ini dirancang untuk membantu klinik skala kecil hingga menengah di Indonesia dalam mengelola proses bisnis utama, mulai dari pendaftaran pasien, penjadwalan janji temu daring, pencatatan rekam medis, hingga proses pembayaran dan pelaporan.
Sistem ini memiliki empat hak akses (role) yang berbeda: Admin, Dokter, Kasir/Resepsionis, dan Pasien, masing-masing dengan dasbor dan fungsionalitas yang disesuaikan dengan kebutuhannya.
- Fitur Utama
- Teknologi yang Digunakan
- Panduan Instalasi
- Akun Demo untuk Login
- Struktur Proyek
- Panduan Berkontribusi
Berikut adalah rincian fitur yang tersedia untuk setiap peran pengguna:
- Registrasi & Autentikasi: Pasien dapat mendaftar dengan data lengkap (termasuk NIK dan alamat) dan melakukan login.
- Booking Daring: Alur pemesanan janji temu multi-langkah: pilih poli, pilih dokter, dan pilih jadwal yang tersedia.
- Antrian Otomatis: Sistem secara otomatis memberikan nomor antrian setelah booking berhasil.
- Dasbor Pasien: Melihat riwayat booking, status janji temu (pending, terkonfirmasi, selesai), dan melihat detail rekam medis dari kunjungan sebelumnya.
- Dasbor Antrian: Melihat daftar seluruh pasien yang memiliki janji temu pada hari ini.
- Konfirmasi Kedatangan: Mengubah status pasien dari
pendingmenjadiconfirmedsaat mereka tiba di klinik. - Proses Pembayaran: Menginput biaya konsultasi dan obat untuk pasien yang telah selesai diperiksa.
- Cetak Kwitansi: Menghasilkan halaman kwitansi yang siap cetak untuk setiap transaksi pembayaran.
- Dasbor Dokter: Melihat daftar antrian pasien yang sudah dikonfirmasi dan siap untuk diperiksa.
- Pencatatan Rekam Medis: Menginput data rekam medis sederhana yang meliputi keluhan, diagnosa, dan resep/tindakan.
- Penyelesaian Konsultasi: Mengubah status pasien menjadi
completedsetelah rekam medis disimpan.
- Manajemen Data Master: Kemampuan untuk menambah, melihat, mengubah, dan menghapus (CRUD) data Poli, Dokter, dan Jadwal Praktik Dokter.
- Dasbor Statistik: Melihat ringkasan data penting seperti pendapatan hari ini, jumlah kunjungan pasien hari ini, dan total booking yang masih
pending. - Laporan Klinik: Mengakses halaman laporan pendapatan dan laporan kunjungan pasien dengan filter per bulan dan tahun.
- Backend: PHP 8.2, Laravel Framework 12
- Frontend: Laravel Blade, Tailwind CSS, Alpine.js
- Database: MySQL / MariaDB
- Autentikasi: Laravel Breeze
- Manajemen Dependensi: Composer (PHP), NPM (JavaScript)
Bagian ini memuat tiga skenario instalasi: untuk pengembangan lokal, deployment ke server VPS (atau shared hosting dengan SSH), dan deployment ke shared hosting tanpa SSH (via cPanel).
Langkah-langkah ini ditujukan untuk menyiapkan lingkungan pengembangan di mesin Anda sendiri.
- PHP 8.2+, Composer, Node.js 20+, Server Database (MySQL/MariaDB), Git.
- Clone Repositori:
git clone https://github.com/Alghifari888/Manajemen-Klinik.gitdancd Manajemen-Klinik. - Instal Dependensi: Jalankan
composer installdannpm install. - Konfigurasi .env: Salin
.env.exampleke.env(cp .env.example .env). - Generate Kunci: Jalankan
php artisan key:generate. - Setup Database: Buat database
db_klinikdan sesuaikan kredensial di file.env. - Migrasi & Seeder: Jalankan
php artisan migrate:fresh --seeduntuk membuat tabel dan mengisi data awal. - Jalankan Server: Buka dua terminal. Di satu terminal, jalankan
npm run dev. Di terminal lain, jalankanphp artisan serve. - Akses Aplikasi: Buka
http://127.0.0.1:8000di browser Anda.
Panduan ini untuk server yang memberikan Anda akses terminal/SSH.
- Clone Repositori: Hubungkan via SSH,
cdke direktori web Anda, lalugit clone .... - Konfigurasi .env Produksi:
cp .env.example .env- Edit file
.env: setAPP_ENV=production,APP_DEBUG=false, dan isi detail database produksi. - Jalankan
php artisan key:generate.
- Install Dependensi Produksi:
composer install --optimize-autoloader --no-devnpm installnpm run build
- Migrasi & Optimasi:
php artisan migrate:fresh --seed --force(gunakan--seedhanya jika butuh data awal).php artisan config:cachephp artisan route:cachephp artisan view:cache
- Konfigurasi Web Server: Arahkan Document Root ke folder
/publicproyek Anda untuk keamanan. - Atur Hak Akses:
sudo chown -R www-data:www-data storage bootstrap/cachedansudo chmod -R 775 storage bootstrap/cache. - Symbolic Link:
php artisan storage:link. (Jika ada fitur upload file).
Metode ini bersifat manual jika tidak ada akses terminal.
-
Persiapan di Lokal:
- Jalankan
composer install --optimize-autoloader --no-devdannpm run build. - Hapus folder
node_modules. - Kompres semua file proyek (termasuk folder
vendor) ke dalam satu file.zip.
- Jalankan
-
Unggah & Ekstrak di cPanel:
- Login ke cPanel, buka
File Manager, masuk kepublic_html. UploaddanExtractfile.zipAnda ke dalam sebuah folder (misal:manajemen-klinik).
- Login ke cPanel, buka
-
Atur Struktur Folder:
- Pindahkan semua isi dari
manajemen-klinik/publickepublic_html. - Edit file
public_html/index.php, ubah path-nya:// Ganti 'manajemen-klinik' dengan nama folder Anda require __DIR__.'/manajemen-klinik/vendor/autoload.php'; $app = require_once __DIR__.'/manajemen-klinik/bootstrap/app.php';
- Pindahkan semua isi dari
-
Setup Database:
- Gunakan
MySQL Database Wizarddi cPanel untuk membuat database, user, dan password. - Ekspor database lokal Anda ke file
.sql. - Impor file
.sqltersebut ke database baru melaluiphpMyAdmindi cPanel.
- Gunakan
-
Konfigurasi Final:
- Edit file
.envdi dalam foldermanajemen-klinik. - Atur
APP_ENV=production,APP_DEBUG=false,APP_URL=https://domainanda.com. - Masukkan detail koneksi database dari cPanel.
- Edit file
Setelah instalasi dan seeding berhasil, Anda dapat login menggunakan akun berikut:
| Peran | Password | |
|---|---|---|
| Admin | [email protected] |
password |
| Dokter | [email protected] |
password |
| Kasir | [email protected] |
password |
| Pasien | [email protected] |
password |
Berikut adalah gambaran umum struktur folder dan berkas penting dalam proyek ini:
klinik-manajemen/
βββ app/
β βββ Enums/ # Berisi Enum untuk UserRole
β βββ Http/
β β βββ Controllers/ # Lokasi semua Controller
β β β βββ Admin/ # Controller khusus untuk modul Admin
β β β βββ Dokter/ # Controller khusus untuk modul Dokter
β β β βββ Kasir/ # Controller khusus untuk modul Kasir
β β β βββ Pasien/ # Controller khusus untuk modul Pasien
β β βββ Middleware/ # Berisi middleware kustom (misal: RoleMiddleware)
β βββ Models/ # Berisi semua model Eloquent
βββ bootstrap/
βββ config/
βββ database/
β βββ migrations/ # Berisi skema struktur tabel basis data
β βββ seeders/ # Berisi berkas untuk mengisi data awal
βββ public/ # Folder root untuk web server
βββ resources/
β βββ views/ # Lokasi semua berkas tampilan (Blade)
βββ routes/
β βββ web.php # Definisi semua rute utama aplikasi
βββ .env # Berkas konfigurasi environment
Kami sangat terbuka untuk kontribusi dari komunitas.
- Fork Repositori: Klik tombol "Fork" di pojok kanan atas.
- Clone Fork Anda:
git clone https://github.com/NAMA_ANDA/Manajemen-Klinik.git - Buat Branch Baru:
git checkout -b nama-fitur-baru - Lakukan Perubahan, lalu
commitdanpushke branch Anda. - Buat Pull Request dari fork Anda ke repositori ini.
- Gaya Pesan Commit: Gunakan format Conventional Commits (
feat:,fix:,docs:, dll). - Gaya Kode: Ikuti standar PSR-12 untuk PHP.
- Fokus: Usahakan setiap Pull Request hanya fokus pada satu fitur atau perbaikan.
Terima kasih telah berkontribusi!
This project is licensed under the MIT License.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
Proyek ini dilisensikan di bawah Lisensi MIT.
Hak Cipta (c) 2025 Alghifari888
Proyek ini menggunakan Lisensi MIT, yang berarti Anda bebas menggunakan, menyalin, mengubah, dan mendistribusikan perangkat lunak ini, termasuk untuk keperluan komersial, selama menyertakan pemberitahuan hak cipta dan lisensi asli.
Perangkat lunak ini disediakan apa adanya tanpa jaminan apa pun. Pengembang tidak bertanggung jawab atas kerusakan atau masalah yang timbul dari penggunaan perangkat lunak ini.
