Platform konseling digital untuk institusi pendidikan dengan alur santri, BK, dan admin dalam satu aplikasi web.
PowerShell:
Copy-Item .env.example .envBash:
cp .env.example .envIsi semua placeholder penting di .env, minimal:
SECRET_KEYENCRYPTION_KEYTURSO_DATABASE_URLTURSO_AUTH_TOKEN- satu provider AI, misalnya
GEMINI_API_KEY
Opsional tapi disarankan:
CLOUDINARY_CLOUD_NAMECLOUDINARY_API_KEYCLOUDINARY_API_SECRET
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.
pip install -r requirements.txtuvicorn backend.main:app --reload --host 0.0.0.0 --port 8000Buka:
http://localhost:8000http://localhost:8000/docsjikaDEBUG=true
Semua role login dari halaman yang sama: /login.
Role yang tersedia:
santribkadmin
Admin pertama dibuat otomatis dari .env jika belum ada akun admin sama sekali.
Gunakan variabel berikut:
BOOTSTRAP_ADMIN_USERNAMEBOOTSTRAP_ADMIN_PASSWORDBOOTSTRAP_ADMIN_DISPLAY_NAME
Alur:
- isi kredensial bootstrap admin di
.env - start aplikasi
- login sebagai admin dari
/login - segera ganti password admin di halaman profil
- setelah itu admin berikutnya bisa dibuat dari menu
Manajemen Pengguna
Registrasi publik default-nya mati. Jika ingin tetap mematikan self-register sesuai blueprint, biarkan:
ALLOW_PUBLIC_REGISTER=false
- mood check-in harian
- chat AI counselor
- chat anonim dengan BK
- jurnal pribadi
- Ruang Tenang
- ganti password sendiri
- logout dan optional self-delete
- 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
- semua kemampuan BK
- bootstrap dan pembuatan akun admin lanjutan
- manajemen cohort
- deletion queue
- operasi sensitif seperti restore dan bulk delete
Ruang Tenang mendukung:
- teks artikel, doa, dan dzikir
- gambar
- audio
- video
- embed YouTube
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
Yang bisa diganti dari .env:
APP_NAMEAPP_TAGLINEUSER_LABELCOUNSELOR_LABELPRIMARY_COLORACCENT_COLORAI_SYSTEM_PROMPT
Logo bisa diganti di:
frontend/static/assets/logo.png
backend/ FastAPI app, routers, services, models
frontend/templates/ Jinja templates
frontend/static/ CSS, JS, assets
migrations/ SQL migrations
.env.example Template konfigurasi
- 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
.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.