CareVision
환자 곁에서 늘 함께, 간호사의 눈이 되어주는 환자 모니터링 서비스
Github : https://github.com/SSU-Capstone-Aurora
3-2 소프트웨어학부 캡스톤1 수업에서 진행하는 프로젝트 입니다.
CareVision은 실시간 모니터링 시스템을 통해 환자의 상태를 지속적으로 관찰 및 관리하고, 이상행동 발생 시 즉각적인 알림과 대처를 가능하게 하는 것을 목적으로 하는 간호사에게 제공 및 지원되는 안드로이드 모바일 서비스입니다.
본 프로젝트의 최종 목표는 병원 내 환자 관리와 홈캠을 통한 실시간 영상 모니터링을 통합한 안드로이드 모바일 어플리케이션을 설계 및 개발하는 것입니다.
환자와 간호사를 등록하고 관리하는 관리자와 주요 기능을 사용하는 간호사로 사용자가 분리됩니다.
관리자는 병원과 해당 과의 대표자입니다.
공식문서를 기반하여 아래 사진과 같은 안드로이드 앱 클린 아키텍처를 도입할 예정입니다.
안드로이드 앱 아키텍처 공식 문서
해당 구조를 통해 데이터 소스를 변경하더라도 UI 계층에서는 영향이 가지 않도록 설계하고자 합니다. 또한 MV What 패턴 중 하나와 함께 사용하고자 합니다.
UI 계층에서는 실제 사용자와 상호작용하는 구성요소로 컴포저블 컴포넌트나 컴포저블 함수 등을 칭하는 UI 요소와, UI의 상태와 이벤트를 관리하여 UI에 데이터를 제공하는 State Holders 를 포함합니다.
비즈니스 로직을 담는 계층으로 UI나 데이터 계층과 독립적인 로직을 수행할 계층입니다.
데이터 소스와 데이터 관리 로직을 담당하는 계층으로 Repository들은 UI 계틍에서 필요한 데이터에 접근할 수 있도록 하는 인터페이스를 제공합니다. 로컬 DB, 네트워크 API 등등 여러 소스에서 오는 데이터들을 하나로 통합하는 로직을 포함할 수 있습니다.
DataSource는 데이터가 실제로 저장되거나 가져오는 위치입니다.
이전에 동아리 내 디자인 시스템을 구현 및 개발하기 위해 컴포저블 함수 정도만 개발을 해보았고, 공모전에서도 compose에 대한 정확한 이해를 하지 않은 채 프로젝트를 진행했었습니다. 이번 프로젝트를 기회로 이와 같이 블로그에 글도 포스팅하고 처음부터 천천히 compose와 단방향 데이터 흐름 그리고 MVVM 또는 MVI 패턴까지 다시 공부해보고 싶어 compose로 시작하였습니다.
또한 이전 캡스톤 디자인 수업에서 1인 개발로 안드로이드 모바일 서비스 개발을 진행했었는데, XML로 UI를 짜는 것이 많이 불편했어서 빠른 진행을 위해 컴포즈를 사용해볼까 합니다.