Opsis adalah platform kesehatan mata berbasis web yang hadir sebagai solusi komprehensif untuk deteksi dini glaukoma dan pendampingan bagi penderita. Platform ini mencakup edukasi masyarakat, analisis citra fundus berbasis deep learning, risk screening berbasis machine learning, integrasi Gen AI untuk penjelasan hasil, serta fitur reminder obat dan komunitas bagi pengguna.
Live Clients:
- Opsis Marketing (Informasi & Edukasi)
- Opsis App (Client Utama)
- Analisis Citra (Fundus): Deteksi klasifikasi glaukoma dan segmentasi Optic Disc & Cup menggunakan Deep Learning.
- Skrining Risiko Glaukoma: Kuesioner interaktif berbasis ML untuk memprediksi tingkat risiko klinis pasien.
- Penjelasan Gen AI: Menggunakan Generative AI (LLM) untuk menyederhanakan penjelasan bahasa medis hasil prediksi agar mudah dipahami awam.
- Pengingat Pengobatan: Sistem manajemen jadwal obat agar perawatan berjalan disiplin.
- Komunitas & Jurnal: Forum diskusi antarpengguna serta fitur pencatatan gejala penglihatan pribadi.
Sebelum menjalankan aplikasi, pastikan Anda telah menginstal beberapa dependensi global berikut dengan versi minimal:
- Node.js (>= v20.0.0) & npm (>= v10.0.0)
- Python (>= v3.12.0)
- PostgreSQL (>= v14.0)
Rekomendasi: just (command runner optional)
Repository Opsis disusun dengan pendekatan monorepo-ish yang dibagi menjadi beberapa ranah:
opsis/
├── ai/
│ ├── notebooks/
│ └── service/
├── ds/
│ ├── dashboard/
│ ├── notebooks/
│ └── synthetic_dataset/
└── fs/
├── client/
├── marketing/
└── server/
ai/: Fokus pada AI/MLnotebooks/: Eksplorasi & pelatihan model DL/MLservice/: AI Service untuk inferensi
ds/: Fokus pada Data Science & Analisisdashboard/: Dashboard interaktifnotebooks/: Notebooks untuk EDA & pemrosesan datasynthetic_dataset/: Generator data sintetik
fs/: Fokus pada pengembangan full-stackclient/: Antarmuka web aplikasi utama penggunamarketing/: Landing page publik edukatifserver/: Backend server utama
Catatan Penting: Sebagian besar komponen membutuhkan variabel lingkungan (
.env), pastikan telah membaca panduan setup.
Silakan ikuti panduan setup lebih lanjut di masing-masing direktori proyek:
- AI Service: ai/service/README.md
- Frontend Client: fs/client/README.md
- Frontend Marketing: fs/marketing/README.md
- Backend Server: fs/server/README.md
Komponen aplikasi dapat dijalankan dari bantuan just (lihat justfile), dengan perintah just --list pada root folder untuk melihat berbagai resep alias (seperti install, format, dsb.).
Atau manual:
-
Frontend Client:
- Masuk ke direktori
fs/client - Jalankan
npm run dev
- Masuk ke direktori
-
Frontend Marketing:
- Masuk ke direktori
fs/marketing - Jalankan
npm run dev
- Masuk ke direktori
-
Backend Server:
- Masuk ke direktori
fs/server - Jalankan
npm run dev
- Masuk ke direktori
-
AI Service:
- Masuk ke direktori
ai/service - Jalankan
fastapi dev
- Masuk ke direktori
Model-model yang telah dilatih dan digunakan dalam servis tersedia pada direktori ai/service/models/:
- Model Segmentasi Fundus: ai/service/models/glaucoma_segmentation_unet.keras
- Model Klasifikasi Glaukoma: ai/service/models/glaucoma_classification_cnn.keras
- Model Skrining Risiko: ai/service/models/glaucoma_risk.joblib
Atau download via Google Drive: https://drive.google.com/drive/folders/1NdkLvAWQyGBO6kjP3l3pFwMj0skPduN3
- Frontend (Client):
- React
- Vite
- React Router
- Tailwind CSS
- Frontend (Marketing):
- React
- Vite
- Vite React SSG
- Tailwind CSS
- Backend (Server):
- Node.js
- Express
- Prisma
- PostgreSQL
- AI/DL/ML API (Service):
- Python
- FastAPI
- TensorFlow/Keras
- Scikit-Learn
Team ID: CC26-PSU195
Theme: Healthy Lives & Well-being
Members:
| Cohort ID | Nama | Learning Path |
|---|---|---|
| CFCC899D6Y0387 | Rizky Cahya Putra Pratama | Full-Stack Web Developer |
| CFCC899D6Y1449 | Muhammad Awalludin Ilham Al Ghofur | Full-Stack Web Developer |
| CACC899D6Y1913 | Michael Bagaskoro Edwards | AI Engineer |
| CACC889D6X2190 | Shela Fitriana | AI Engineer |
| CDCC899D6Y1679 | Guntur Budi Santoso | Data Scientist |
| CDCC312D6X2433 | Ani Nuri Azizah | Data Scientist |
Opsis menggunakan prefiks berikut untuk penamaan commit:
featuntuk fiturfixuntuk perbaikanchoreuntuk pekerjaan rutin/tugasdocsuntuk dokumentasi