Skip to content

Repository files navigation

Laravel React Inertia PostgreSQL Filament

🧠 MahasigMind

MahasigMind adalah platform kesehatan mental komprehensif berbasis web yang dirancang khusus untuk mahasiswa Indonesia. Aplikasi ini memfasilitasi pemantauan kesehatan emosional melalui pencatatan mood harian, penulisan jurnal reflektif, forum diskusi anonim/terbuka, serta penyediaan akses bimbingan & konsultasi langsung bersama psikolog profesional.

Aplikasi ini juga dilengkapi Dashboard Psikolog untuk pengurusan slot jadwal & bimbingan klien, serta Filament Admin Panel untuk pengolahan pengguna dan moderasi artikel edukasi.


✨ Fitur Utama Berdasarkan Role

👨‍🎓 Role Mahasiswa

  • Autentikasi & Role Redirect: Sesi login terpisah yang otomatis mengarahkan mahasiswa ke dashboard khusus.
  • Beranda (Home): Kartu sapaan ramah, MoodPicker harian, menu akses cepat, dan pembacaan artikel edukasi via overlay.
  • Chat Psikolog: Pengajuan konsultasi, pemilihan psikolog profesional (PsychologistPickerSheet), dan ruang obrolan langsung dengan auto-reload / polling.
  • Forum Diskusi: Kategori diskusi (Kuliah, Keluarga, Relasi, Keuangan), pembuatan postingan baru, dan fitur balasan postingan.
  • Jurnal Harian: Galeri catatan refleksi harian, form penulisan jurnal, dan tampilan detail refleksi.
  • Notifikasi: Bottom sheet notifikasi sistem dengan fitur "Tandai semua sudah dibaca".
  • Pengaturan Profil: Pengelolaan informasi akun, ubah kata sandi, dan hapus akun.

🧑‍⚕️ Role Psikolog

  • Dashboard Konselor: Metriks analitik (Klien Aktif, Sesi Hari Ini, Jurnal Masuk, Artikel Saya), jadwal sesi harian, dan preview permintaan bimbingan.
  • Kelola Sesi Chat: Daftar klien aktif dan ruang chat bimbingan terintegrasi.
  • Kelola Jadwal Operasional: Pemilihan tanggal dan TimeSlotPicker interaktif untuk menghidupkan/mematikan slot jam ketersediaan (09:00 s/d 16:00).
  • Permintaan Konsultasi: Filter status pengajuan (Semua, Menunggu, Disetujui, Ditolak) dengan aksi Setujui / Tolak ber-modal konfirmasi.
  • Profil Mahasiswa & Peringatan Risiko: Pratinjau data mahasiswa, galeri jurnal refleksi mahasiswa, dan Warning Card otomatis berwarna kuning bila ada indikasi kecemasan berturut-turut.
  • Ekspor Data (CSV): Fitur pencarian kueri dan pengunduhan laporan rekapitulasi konsultasi dalam format CSV.
  • Kelola Artikel Edukasi: Pembuatan, pengubahan, dan penghapusan artikel dengan badge status (Terbit, Menunggu Review, Draf, Ditolak).

🛡️ Role Admin Panel (Filament v3)

  • Dashboard Widgets: StatsOverviewWidget untuk statistik Total Pengguna, Total Psikolog, dan Artikel Menunggu Verifikasi.
  • Kelola User (UserResource): Manajemen data pengguna, penapis role, dan pencarian nama/email.
  • Kelola Psikolog (PsychologistResource): Manajemen data psikolog terdaftar beserta aksi verifikasi akun.
  • Kelola & Verifikasi Artikel (ArticleResource): Pengelolaan moderasi artikel dengan aksi Terima (Terbit) & Tolak (Ditolak). Artikel yang disetujui otomatis terpublikasi langsung ke mahasiswa.

🛠️ Tech Stack

Aplikasi ini dibangun menggunakan arsitektur Monolith Modern (Laravel 11 + Inertia.js + React 19 + TypeScript + Tailwind CSS v3).

Kategori Teknologi
Backend Framework Laravel 11 (PHP 8.2+)
Frontend Framework React 19 + TypeScript
Glue (Bridge) Inertia.js
Styling Tailwind CSS v3
Database PostgreSQL
Admin Panel Filament PHP v3
Authentication Laravel Breeze + Google OAuth
Bundler Vite

📋 Prasyarat Sistem

Sebelum menjalankan project di lokal, pastikan perangkat Anda terpasang:

  1. PHP >= 8.2 (dengan ekstensi pdo_pgsql, pgsql, mbstring, xml, curl, zip)
  2. Composer (PHP Dependency Manager)
  3. Node.js >= 18.x & NPM
  4. PostgreSQL Database (Lokal via Docker, Laragon PostgreSQL, DBngin, atau PostgreSQL Server)

🚀 Langkah Instalasi & Cara Menjalankan Project

1. Clone & Masuk ke Folder Project

git clone https://github.com/RusdiEneri/MahasigMind.git
cd MahasigMind

2. Install Dependencies (Backend & Frontend)

# Install PHP dependencies
composer install

# Install Node.js packages
npm install

3. Konfigurasi File Environment (.env)

Salin file .env.example menjadi .env:

cp .env.example .env
php artisan key:generate

Pastikan konfigurasi PostgreSQL di file .env sudah sesuai dengan PostgreSQL Docker/Laragon Anda:

DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=db_mahasigmind
DB_USERNAME=postgres
DB_PASSWORD=postgres

4. Jalankan Migrasi & Database Seeder

Jalankan perintah berikut untuk membuat tabel-tabel dan mengisi akun uji awal:

php artisan migrate:fresh --seed

5. Jalankan Server Aplikasi & Asset Bundler

Buka 2 jendela terminal di folder project:

Terminal 1 (Vite Dev Server - Asset Compiler):

npm run dev

Terminal 2 (Laravel Backend Server):

php artisan serve

🎉 Aplikasi MahasigMind sekarang siap diakses di: http://localhost:8000 (atau http://127.0.0.1:8000).


🔑 Akun Pengujian Dummy Default (Seeded)

Kata sandi (password) untuk seluruh akun pengujian bawaan di bawah ini adalah: password

Role Alamat Email Password URL Tujuan Setelah Login
Admin admin@mahasigmind.id password http://localhost:8000/admin
Psikolog 1 sarah.wijaya@mahasigmind.id password http://localhost:8000/psikolog/dashboard
Psikolog 2 budi.santoso@mahasigmind.id password http://localhost:8000/psikolog/dashboard
Mahasiswa 1 mahasiswa@mahasigmind.id password http://localhost:8000/mahasiswa/dashboard
Mahasiswa 2 siti@mahasigmind.id password http://localhost:8000/mahasiswa/dashboard
Mahasiswa 3 rizky@mahasigmind.id password http://localhost:8000/mahasiswa/dashboard

🧪 Cara Menjalankan Automated Testing & TypeScript Check

Menjalankan Test Suite (PHPUnit / Pest)

php artisan test

Menjalankan TypeScript Compiler Check

npx tsc --noEmit

Menjalankan Production Build Verification

npm run build

📄 Lisensi

MahasigMind dilesensikan di bawah MIT License.

About

Platform kesehatan mental komprehensif yang dirancang khusus untuk mahasiswa. Aplikasi ini memfasilitasi pemantauan kesehatan emosional melalui pencatatan mood harian, penulisan jurnal reflektif, serta penyediaan akses konsultasi dengan psikolog profesional.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages