소규모 병원에서 사용하는 통합 예약 / 진료 관리 시스템
- 예약부터 진료, 문서 발급, 결제까지 One-Stop으로 가능한 소규모 병원용 통합 EMR 시스템 개발
- 의사 2명, 간호사 2명의 소규모 인원을 상정
- 의료진 간에 채팅도 가능
- JavaScript와 Vue.js를 사용한 SPA 클라이언트 개발
- Java와 Spring Boot를 사용한 REST API 방식의 서버 개발
- 웹소켓을 이용한 실시간 메세지 전달
- 아이디와 비밀번호를 사용해서 로그인합니다.
- 액세스 토큰과 리프레시 토큰을 사용해서 사용자 인증을 합니다.
- 리프레시 토큰은 화이트리스트 방식과 회전 방식을 사용해서 Redis에 저장됩니다.
📦auth
┣ 📂config // Spring Security 등 인증 관련 설정
┣ 📂controller
┣ 📂dao // MyBatis 매퍼
┣ 📂domain
┣ 📂dto
┣ 📂filter // JWT 인증 필터
┣ 📂service
┃ ┣ 📜AccessTokenService.java
┃ ┣ 📜AuthService.java
┃ ┣ 📜CredentialsService.java
┃ ┗ 📜RefreshTokenService.java
┗ 📂util
┗ 📜JwtUtil.java
- 프론트엔드에서는 Axios 인터셉터를 사용해서 인증과 재시도를 자동화했습니다.
- 재발급 도중에는 한 번의 재발급만 발생하도록 했습니다.

- 의사와 일자, 시간을 선택해서 예약을 등록할 수 있습니다.
- 예약, 대기 목록은 웹소켓을 사용해서 실시간으로 업데이트됩니다.
예약 등록 | 예약열 | 대기열 |
---|---|---|
- 진료 시에는 이미지를 추가해서 내용을 보완할 수 있습니다.
- 진료 시에는 내원 이력이 생성됩니다.
내원 이력 | 진료 작성 |
---|---|
- 의료진 간에 채팅이 가능합니다.
- 방 밖에서 채팅이 올 경우에 알림이 나타납니다.
채팅방 목록 | 채팅 알림 | 채팅창 |
---|---|---|
- 전체 문서
- (김찬희) 전역 예외 처리기
- (남승주) Docker Compose 수정
- (김수영) STOMP 학습
김찬희 | 남승주 | 김수영 | 김영선 |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
사용자 인증, 회원 | 예약, 접수, 대기, DevOps | 채팅, 웹소켓, 진료 | 관리자 페이지 |
2025.06.16 - 2025.07.23 (약 5주)
JavaScript
Vue.js
Axios
Bootstrap
Java
Spring Boot
Lombok
MyBatis
MariaDB
Redis
AWS
Docker
Docker Compose
nginx
WebSocket
JWT