Skip to content

Alghifari888/Manajemen-Klinik

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

30 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Laravel Logo

Build Status Total Downloads Latest Stable Version

πŸ₯ Sistem Manajemen Klinik Berbasis Web

Sistem Manajemen Klinik Berbasis Web adalah perangkat lunak yang dirancang untuk mengelola operasional dan data klinik secara daring melalui internet.

✨ Kutipan

"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.


πŸŽ₯ Demo

Demo

πŸ“– Daftar Isi

  1. Fitur Utama
  2. Teknologi yang Digunakan
  3. Panduan Instalasi
  4. Akun Demo untuk Login
  5. Struktur Proyek
  6. Panduan Berkontribusi

✨ Fitur Utama

Berikut adalah rincian fitur yang tersedia untuk setiap peran pengguna:

πŸ§‘β€βš•οΈ Pasien

  • 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.

βœ’οΈ Resepsionis / Kasir

  • Dasbor Antrian: Melihat daftar seluruh pasien yang memiliki janji temu pada hari ini.
  • Konfirmasi Kedatangan: Mengubah status pasien dari pending menjadi confirmed saat 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.

🩺 Dokter

  • 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 completed setelah rekam medis disimpan.

πŸ‘‘ Admin

  • 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.

πŸ› οΈ Teknologi yang Digunakan

  • 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)

πŸš€ Panduan Instalasi

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).


A. Instalasi di Komputer Lokal (Untuk Pengembangan)

Langkah-langkah ini ditujukan untuk menyiapkan lingkungan pengembangan di mesin Anda sendiri.

Prasyarat

  • PHP 8.2+, Composer, Node.js 20+, Server Database (MySQL/MariaDB), Git.

Langkah-langkah Instalasi

  1. Clone Repositori: git clone https://github.com/Alghifari888/Manajemen-Klinik.git dan cd Manajemen-Klinik.
  2. Instal Dependensi: Jalankan composer install dan npm install.
  3. Konfigurasi .env: Salin .env.example ke .env (cp .env.example .env).
  4. Generate Kunci: Jalankan php artisan key:generate.
  5. Setup Database: Buat database db_klinik dan sesuaikan kredensial di file .env.
  6. Migrasi & Seeder: Jalankan php artisan migrate:fresh --seed untuk membuat tabel dan mengisi data awal.
  7. Jalankan Server: Buka dua terminal. Di satu terminal, jalankan npm run dev. Di terminal lain, jalankan php artisan serve.
  8. Akses Aplikasi: Buka http://127.0.0.1:8000 di browser Anda.

B. Deployment ke Server VPS / Shared Hosting (Dengan Akses SSH)

Panduan ini untuk server yang memberikan Anda akses terminal/SSH.

  1. Clone Repositori: Hubungkan via SSH, cd ke direktori web Anda, lalu git clone ....
  2. Konfigurasi .env Produksi:
    • cp .env.example .env
    • Edit file .env: set APP_ENV=production, APP_DEBUG=false, dan isi detail database produksi.
    • Jalankan php artisan key:generate.
  3. Install Dependensi Produksi:
    • composer install --optimize-autoloader --no-dev
    • npm install
    • npm run build
  4. Migrasi & Optimasi:
    • php artisan migrate:fresh --seed --force (gunakan --seed hanya jika butuh data awal).
    • php artisan config:cache
    • php artisan route:cache
    • php artisan view:cache
  5. Konfigurasi Web Server: Arahkan Document Root ke folder /public proyek Anda untuk keamanan.
  6. Atur Hak Akses: sudo chown -R www-data:www-data storage bootstrap/cache dan sudo chmod -R 775 storage bootstrap/cache.
  7. Symbolic Link: php artisan storage:link. (Jika ada fitur upload file).

C. Deployment ke Shared Hosting (via cPanel / Tanpa SSH)

Metode ini bersifat manual jika tidak ada akses terminal.

  1. Persiapan di Lokal:

    • Jalankan composer install --optimize-autoloader --no-dev dan npm run build.
    • Hapus folder node_modules.
    • Kompres semua file proyek (termasuk folder vendor) ke dalam satu file .zip.
  2. Unggah & Ekstrak di cPanel:

    • Login ke cPanel, buka File Manager, masuk ke public_html.
    • Upload dan Extract file .zip Anda ke dalam sebuah folder (misal: manajemen-klinik).
  3. Atur Struktur Folder:

    • Pindahkan semua isi dari manajemen-klinik/public ke public_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';
  4. Setup Database:

    • Gunakan MySQL Database Wizard di cPanel untuk membuat database, user, dan password.
    • Ekspor database lokal Anda ke file .sql.
    • Impor file .sql tersebut ke database baru melalui phpMyAdmin di cPanel.
  5. Konfigurasi Final:

    • Edit file .env di dalam folder manajemen-klinik.
    • Atur APP_ENV=production, APP_DEBUG=false, APP_URL=https://domainanda.com.
    • Masukkan detail koneksi database dari cPanel.

πŸ”‘ Akun Demo untuk Login

Setelah instalasi dan seeding berhasil, Anda dapat login menggunakan akun berikut:

Peran Email Password
Admin [email protected] password
Dokter [email protected] password
Kasir [email protected] password
Pasien [email protected] password

πŸ“ Struktur Proyek

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

🀝 Panduan Berkontribusi

Kami sangat terbuka untuk kontribusi dari komunitas.

Melalui Fork (Untuk Non-Kolaborator)

  1. Fork Repositori: Klik tombol "Fork" di pojok kanan atas.
  2. Clone Fork Anda: git clone https://github.com/NAMA_ANDA/Manajemen-Klinik.git
  3. Buat Branch Baru: git checkout -b nama-fitur-baru
  4. Lakukan Perubahan, lalu commit dan push ke branch Anda.
  5. Buat Pull Request dari fork Anda ke repositori ini.

Pedoman Kontribusi

  • 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!

πŸ“„ License (English)

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.


πŸ“„ Lisensi (Indonesia)

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.

About

Memberikan pelayanan medis yang efektif dan efisien kepada pasien, termasuk aspek administrasi, keuangan, dan sumber daya manusia.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages