CS62-RE55 :: Telemedicine and data collecting application for NCDs patients

แอพพลิเคชั่นสำหรับการพบแพทย์ผ่านระบบ Telemedicine และเก็บข้อมูลเพื่อติดตามการรักษาสำหรับผู้ป่วยโรคไม่ติดต่อเรื้อรัง

details
Synthia is a telemedicine system designed for Noncommunicable disease (NCD) patients. It was designed as an extension of the existing hospital system. It provides a telemedicine channel for patients and doctors. It can show the appointment, video call with the doctor, and receive the payment using a credit card. Synthia also provides a way for the patient to self-record measurement results such as blood pressure, pulse, and glucose. The system will aggregate the recorded data and visualize them for both patient and the doctor. For this project, we developed two applications for both doctors and patients. We developed a native mobile application for patients and a web application for the doctor.
tools & techniques

Frontend • Programming languages: JavaScript • Framework: ReactJS, NextJS • State manager: Redux with Rematch • Native application runtime: Capacitor • Chart: Recharts • Video call: WebRTC

Backend API • Programming languages: Go, TypeScript • Framework: Gin, NestJS • Database ORM: GORM • Testing tools: Testcontainers, Ginkgo

WebSocket Server • Programming language: JavaScript • Framework: Express • WebSocket libary: SocketIO

Hospital Mock GrapgQL API • Programming language: TypeScript • Framework: NestJS • Database ORM: Prisma

DevOps Tools • Infrastructure as Code: Terraform • CI/CD: GitHub Actions

Database • MongoDB • PostgreSQL

Cloud Services • Azure Kubernetes Service • Azure Load Balancer • Azure Database PostgreSQL Server • Azure Container Registry • Cloudflare DNS • Cloudflare Pages • Redis Cloud • MongoDB Atlas

Kubernetes Tools/Applications • GitOps: ArgoCD • Secret management: SealedSecrets • Package manager: Helm • Ingress: Traefik

Project Management • Jira • Confluence • Microsoft 365 • FigJam • Figma • Lucid

External Services • SMS sending: Twilio • Error reporting: Sentry • Payment gateway: Omise

Design Tools • UI Design and presentation tool: Figma, Canva • UX research tools: Google sheet, FigJam, Figma • Design Ops tools: Figma, Figma token plugin, Style dictionary, Figma transformer, Supernova

Development Tools • Docker • Git • GitHub • Xcode • Android Studio • Visual Studio Codes • Goland • Postman

author
MR.SETHANANT PIPATPAKORN
รหัสนักศึกษา 62130500230
sethanant.p@mail.kmutt.ac.th
MR.THANAKORN AUNGKUNCHUCHOD
รหัสนักศึกษา 62130500209
thanakorn.note@mail.kmutt.ac.th
MS.KAVISARA SRISUWATCHAREE
รหัสนักศึกษา 62130500254
kavisara.noya@mail.kmutt.ac.th
advisor
Worarat Krathu
Chonlameth Arpnikanondt