Skip to content

실시간 소아과 진료예약 및 비대면 진료 서비스 BE

Notifications You must be signed in to change notification settings

Todak-Padak/TodakTodak_backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏥 토닥토닥 : 실시간 소아과 진료 예약 및 비대면 진료 서비스

🥇 한화시스템 BEYOND SW CAMP 7기 최종프로젝트 1위 수상

팀원

슬기 창현 은지 무리 한아
정슬기 김창현 방은지 최무리 이한아
팀장,BE,FE BE,FE BE,FE BE,FE BE,FE

발표자료

1. 문제 정의

저출산과 소아청소년과 폐지의 악순환

저출산과 고령화는 우리 사회의 심각한 문제로, 출생률 감소뿐만 아니라 아동 관련 서비스와 인프라의 축소로 이어지고 있습니다. 특히 2023년 3월 29일, 대한소아청소년과 의사회가 소아청소년과 폐지를 선언함에 따라, 소아과 진료를 필요로 하는 부모들이 겪는 어려움이 심화되었습니다.

소아과 진료 ‘오픈런’ 현상으로 인한 부담 가중화

최근 소아과 병원의 수가 급격히 줄어들면서, 소아과 진료를 받기가 점점 더 어려워지고 있습니다. 부모들은 생계를 유지하며 아침 일찍 병원 앞에 줄을 서는 '오픈런' 현상을 겪고 있으며, 이로 인해 많은 소아과 병원은 오전에만 진료를 집중적으로 처리하고 있습니다. 이는 의료진에게 짧은 시간 안에 많은 환자를 진료해야 하는 압박을 주며, 진료의 질 저하와 부모들의 부담을 가중시키고 있습니다. 또한 응급 상황에서도 적절한 의료 서비스를 받기 어려운 경우가 발생하고 있습니다.

2. 해결 방안: 실시간 진료 예약 및 비대면 진료 시스템 구축

시스템 개요

실시간 진료 예약 시스템은 부모들이 소아과 진료 예약 및 대기 상황을 실시간으로 확인할 수 있도록 하여 불필요한 병원 방문을 줄이고, 진료 예약 수를 조절할 수 있게 합니다. 비대면 진료 시스템은 야간 시간이나 주말, 병원 방문이 어려운 상황에서 응급 상황에 대응하고 진료의 편의성을 증가시킬 수 있습니다.

주요 기능

  • 실시간 예약 확인: 모바일 애플리케이션 및 웹사이트를 통해 부모가 실시간으로 예약 상황을 확인하고, 대기 인원 및 예상 대기 시간을 파악할 수 있습니다.
  • 비대면 진료: 부모는 등록된 자녀의 진료를 비대면으로 진행할 수 있으며, 이를 위한 결제 및 상담을 온라인에서 처리할 수 있습니다.
  • 예약 조정: 병원은 실시간으로 예약 수를 조절하고, 과밀 현상을 방지할 수 있습니다.
  • 알림 기능: 예약 확인 및 대기 상황 변경 시 부모에게 알림을 전송하여, 병원 방문 전 적절한 조치를 취할 수 있도록 합니다.
  • 통계 및 분석: 예약 데이터와 대기 시간을 분석하여 병원의 진료 효율성을 높이는 데 기여합니다.
  • 채팅 기능: 클라이언트(병원 직원, 부모 등)와 관리자가 실시간으로 소통할 수 있는 채팅 기능을 통합하여 문제 해결과 지원을 효율적으로 제공할 수 있도록 설계했습니다

기대 효과

  • 부모의 부담 경감: 실시간 예약 시스템과 비대면 진료를 통해 부모들은 병원 방문 전 예약 상황을 파악하고, 불필요한 대기 시간을 줄일 수 있습니다.
  • 진료의 질 향상: 의료진은 예약된 환자 수를 기준으로 진료를 계획할 수 있어, 진료의 질을 높이고 과중한 업무 부담을 줄일 수 있습니다.
  • 응급 상황 대응 개선: 비대면 진료 시스템을 통해 응급 상황에서도 적절한 대응이 가능해져 부모들의 불안감을 줄일 수 있습니다.
  • 사회적 문제 해결 기여: 아동 보건과 복지 수준을 개선하고, 사회적 문제로 확대되는 현상을 해결하는 데 기여할 수 있습니다.

🥕요구사항정의서🥕

🐶 토닥토닥 요구사항정의 링크

화면 설계서

화면설계서 Figma

WBS

WBS 보기

이슈관리

이슈관리테이블

ERD

전체 ERD (MSA 아키텍처)

image
Member-Service image
Reservation-Service image
Community-Service image

API 명세서

API 명세서

API 단위테스트

API 단위테스트

주요 기능

기능 설명
카카오 소셜로그인 카카오 로그인과 이메일 인증을 통한 간편한 회원가입으로, 사용자들은 빠르고 쉽게 토닥서비스를 이용할 수 있습니다.
스케쥴 예약 스케쥴 예약 기능을 통해 손쉽게 증상을 설명하고 사용자가 원하는 요일과 시간을 선택하여 병원 예약을 할 수 있습니다.
오늘 예약 병원 별 총 대기 인원수, 의사 별 대기 인원 수를 확인하여 원격으로 줄서기가 가능합니다.
대기인원 확인 진료 예약 시 병원별 총 대기 인원수, 의사 별 대기 인원 수를 확인할 수 있습니다.
비대면 진료 WebRTC를 사용하여 병원에 직접 가지 않고도 비대면으로 진료를 받을 수 있습니다.
사용자 위치기반 병원목록 조회 geolocation을 사용하여 사용자의 위치기반 주변 병원들의 목록을 조회할 수 있습니다.
자녀공유 사용자간에 자녀를 공유하여 예약관리 및 일정 관리를 할 수 있습니다.
공유캘린더 fullCalendar를 이용해 자녀의 예약 일정을 공유하며, 개인 일정까지 한눈에 편리하게 관리할 수 있습니다.
병원 관리 복잡했던 병원 등록 및 병원 일정관리, 의료진 관리의 어려움을 줄이고 편의성을 높였습니다.
실시간 CS문의 kafka를 사용하여 메세지를 저장하고 웹소켓을 통해 실시간으로 소통할 수 있습니다.
fcm알림 예약 확인 및 대기 상황 변경 안내, 자녀 공유, 결제 알림 등 상황별 사용자에게 적절한 알림을 제공합니다.
단건 결제, 정기 결제 포트원에서 제공하는 KG이니시스를 통해 진료비를 다양한 결제수단으로 결제할 수 있고 카카오페이 정기구독을 이용해 간편하게 병원 멤버십을 이용할 수 있습니다.
데이터시각화 chart.js를 이용하여 회원 관리를 위한 회원 비율 조회 및 신규 회원 유입 추이를 간편하게 조회할 수 있습니다.
Prometheus, Grafana Prometheus를 통해 각 파드와 노드별 CPU 및 메모리 사용량을 간편하게 모니터링할 수 있으며, Grafana로 시각화하여 한눈에 확인할 수 있습니다.

주요 기능 시연영상

Web RTC : 비대면진료
WebSocket, STOMP, Kafka : CS채팅

일반회원 채팅

서비스운영팀 채팅

FullCalendar : 자녀 공유 캘린더
Geolocation, KakaoMap : 사용자위치기반 행정동기준 병원리스트 조회
Firebase RealTimeDB : 실시간 대기인원 확인
FCM :웹 푸시 알림 스크린샷 2024-11-05 오전 9 18 02 스크린샷 2024-11-04 오후 6 41 53
Prometheus, Grafana : 모니터링 서비스

스택

BACKEND

Firebase

FRONTEND

Vue.js JavaScript HTML5 CSS3 figma Firebase

DB

mariadb Redis amazons3 Apache Kafka

TOOLS

Notion Git GitHub Figma

DevOps

kubernetes amazoneks amazonec2 docker amazonelasticache apachekafka amazonrds amazons3 amazonroute53 prometheus grafana githubactions

시스템 아키텍쳐

배포아키텍쳐

아키텍쳐 선택이유

Kubernetes docker compose
아키텍처 다중호스트 단일호스트
확상성 Scale-Out Scale-Up
로드밸런싱 자동설정(세션 설정 가능) 직접설정
HA 장애 감지 및 자동 복구 장애 발생 시 서비스 다운
설정편의성 내부 서비스 디스커버리 자동 설정 서비스의 IP 주소나 도메인을 직접 지정



프로젝트 시연

메인페이지
병원 도입 신청 페이지
서비스 운영팀 대시보드
  • 제휴병원 관리 (가입승인, 정기 구독료 관리)

  • 일반회원 관리 (CS채팅 고객상담, 신고내역 관리)

  • 데이터 시각화 (신규회원 유입추이, 권한 별 회원비율 등)

일반 유저

✍️ 로그인 및 회원가입

카카오 소셜 회원가입
카카오 소셜 로그인

👶 자녀 등록 및 수정 삭제, 공유

자녀 정보 추가 : 유효한 주민번호 입력
자녀 정보 추가 : 유효하지 않은 주민번호 입력
자녀 사진 수정
자녀 삭제
자녀 공유
자녀 공유 알림

📆 공유 캘린더

공유 캘린더 조회
자녀 별 공유 캘린더 : 다른자녀 선택
공유 캘린더 일정 저장
공유 캘린더 일정 수정
공유 캘린더 드래그 앤 드롭 - 날짜 수정
공유 캘린더 일정 삭제
공유 캘린더 일정 상태변경
공유 캘린더 예약일정 공유
공유 캘린더 개인일정 공유 x

🏥 진료 예약

소아과 병원리스트

사용자 위치기반 병원조회 로딩
사용자 위치기반 행정동 기준 병원리스트 조회

- 바로 대기 -

바로 대기 - 일반진료 예약
바로 대기 - 예방접종 예약
바로 대기 - 실시간 대기인원 확인

- 스케쥴 예약 -

스케쥴 예약 - 일반진료 예약
스케쥴 예약 - 예방접종 예약

- 비대면 진료 -

비대면 진료 - 의사리스트 조회 오늘 비대면진료 가능한 의사리스트 조회 (진료 중, 별점 순, 리뷰 순 필터링 가능)
비대면 진료 - 접수
비대면 진료 실시간 대기 인원 확인
비대면 진료 - 본인 차례 시 비대면 접수버튼 활성화
비대면 진료 - 진료중
비대면 진료 - 결제
비대면 진료 - 리뷰

예약 내역 조회
예약 취소

🔍 병원 검색

사용자 위치기반 병원목록 검색
이름 검색
거리순,별점,리뷰순조회
키워드 검색

💬 CS 채팅상담

CS 채팅 : 일반 회원채팅
CS 채팅 : 서비스운영팀 채팅
CS 채팅 : 서비스운영팀 상담내역 기록
CS 채팅 : 서비스운영팀 회원 별 CS내역 조회
  • 회원 별로 CS 내역 리스트 조회

  • CS 내역 클릭 시 해당 CS 내역이 기록된 채팅방으로 이동

👥 커뮤니티

게시글 작성
게시글 수정
게시글 삭제

댓글 작성
댓글 작성- 권한관리
댓글 수정
댓글 삭제

게시글 신고
댓글 신고

게시글 정렬

마이페이지

개인정보 수정
프로필 사진 수정
예약내역 조회
내가 작성한 리뷰 조회 및 삭제
내가 작성한 게시글

👨‍⚕️ 의사

로그인

의사 최초로그인 이메일 인증
의사 이메일 로그인
의사 비대면진료 예약내역 조회
의사 비대면진료 예약내역 취소

🧑‍💼 병원 관리자

✍️ 병원 등록 및 로그인

병원등록
병원등록 후 결제
로그인

🕙 병원 영업시간 설정 및 정보 수정

병원 영업시간 등록
병원 영업시간 수정
병원 영업시간 삭제
병원정보 수정

👨‍⚕️ 의사 등록 및 정보 설정

의사등록
의사 정보 수정
의사 삭제
의사 근무시간 등록
의사 근무시간 수정
의사 근무시간 삭제
의사 근무시간 - 병원 영업시간 초과 불가
의사 근무시간 - 중복요일 저장 불가

✅ 예약 접수 및 취소

오늘 예약 접수
스케쥴 예약 접수
오늘 예약 취소
스케쥴 예약 취소

📣 예약 알림

당일예약 : 일반 진료 예약 알림
당일예약 : 예방 접종 예약 알림
스케쥴 예약 - 일반진료 알림
스케쥴 예약 - 예방접종 알림

👩‍⚕️🧑‍⚕️👩‍⚕️👨‍⚕️👩‍⚕

️todak서비스 운영팀

서비스 운영팀 대시보드
  • 제휴병원 관리 (가입승인, 정기 구독료 관리)

  • 일반회원 관리 (CS채팅 고객상담, 신고내역 관리)

  • 데이터 시각화 (신규회원 유입추이, 권한 별 회원비율 등)

관리자 로그인
병원 결제 알림
병원 결제 fcm 알림
병원 사용 승인

About

실시간 소아과 진료예약 및 비대면 진료 서비스 BE

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages