Skip to content

algojogacor/BilikSantri

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

9 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

BilikSantri

Platform konseling digital untuk institusi pendidikan dengan alur santri, BK, dan admin dalam satu aplikasi web.

Quick Start

1. Siapkan environment file

PowerShell:

Copy-Item .env.example .env

Bash:

cp .env.example .env

Isi semua placeholder penting di .env, minimal:

  • SECRET_KEY
  • ENCRYPTION_KEY
  • TURSO_DATABASE_URL
  • TURSO_AUTH_TOKEN
  • satu provider AI, misalnya GEMINI_API_KEY

Opsional tapi disarankan:

  • CLOUDINARY_CLOUD_NAME
  • CLOUDINARY_API_KEY
  • CLOUDINARY_API_SECRET

2. Generate key keamanan

python -c "import secrets; print(secrets.token_hex(32))"
python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"

Masukkan hasilnya ke SECRET_KEY dan ENCRYPTION_KEY.

3. Install dependency

pip install -r requirements.txt

4. Jalankan aplikasi

uvicorn backend.main:app --reload --host 0.0.0.0 --port 8000

Buka:

  • http://localhost:8000
  • http://localhost:8000/docs jika DEBUG=true

Login dan Role

Semua role login dari halaman yang sama: /login.

Role yang tersedia:

  • santri
  • bk
  • admin

Admin pertama

Admin pertama dibuat otomatis dari .env jika belum ada akun admin sama sekali. Gunakan variabel berikut:

  • BOOTSTRAP_ADMIN_USERNAME
  • BOOTSTRAP_ADMIN_PASSWORD
  • BOOTSTRAP_ADMIN_DISPLAY_NAME

Alur:

  1. isi kredensial bootstrap admin di .env
  2. start aplikasi
  3. login sebagai admin dari /login
  4. segera ganti password admin di halaman profil
  5. setelah itu admin berikutnya bisa dibuat dari menu Manajemen Pengguna

Registrasi publik

Registrasi publik default-nya mati. Jika ingin tetap mematikan self-register sesuai blueprint, biarkan:

  • ALLOW_PUBLIC_REGISTER=false

Fitur Utama

Santri

  • mood check-in harian
  • chat AI counselor
  • chat anonim dengan BK
  • jurnal pribadi
  • Ruang Tenang
  • ganti password sendiri
  • logout dan optional self-delete

BK

  • dashboard analitik dasar
  • inbox kasus dan tindak lanjut
  • manajemen pengguna untuk akun santri dan BK
  • reset password akun
  • kelola konten Ruang Tenang
  • ganti password sendiri dan logout

Admin

  • semua kemampuan BK
  • bootstrap dan pembuatan akun admin lanjutan
  • manajemen cohort
  • deletion queue
  • operasi sensitif seperti restore dan bulk delete

Ruang Tenang

Ruang Tenang mendukung:

  • teks artikel, doa, dan dzikir
  • gambar
  • audio
  • video
  • embed YouTube

Media upload

Jika Cloudinary diisi di .env, BK/Admin bisa upload media langsung dari panel Kelola Ruang Tenang.

Dukungan saat ini:

  • gambar: jpg, jpeg, png, webp, gif, avif
  • audio: mp3, wav, m4a, aac, ogg, flac
  • video: mp4, webm, mov, m4v, ogv
  • link YouTube manual tetap bisa dipaste tanpa Cloudinary

White-label

Yang bisa diganti dari .env:

  • APP_NAME
  • APP_TAGLINE
  • USER_LABEL
  • COUNSELOR_LABEL
  • PRIMARY_COLOR
  • ACCENT_COLOR
  • AI_SYSTEM_PROMPT

Logo bisa diganti di:

  • frontend/static/assets/logo.png

Struktur Ringkas

backend/                 FastAPI app, routers, services, models
frontend/templates/      Jinja templates
frontend/static/         CSS, JS, assets
migrations/              SQL migrations
.env.example             Template konfigurasi

Catatan Keamanan

  • jangan commit .env
  • ganti semua placeholder secret sebelum deploy
  • jika secret pernah terekspos, lakukan rotate di provider terkait
  • setelah bootstrap admin berhasil dipakai, segera ganti password admin

Status Template

.env.example disiapkan sebagai template onboarding dan harus tetap berisi placeholder, bukan secret asli.

BilikSantri adalah platform pendukung kesehatan mental, bukan pengganti layanan konseling profesional.

About

๐Ÿ•Œ Sistem manajemen pesantren digital

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors