소규모 병원에서 사용하는 통합 예약 / 진료 관리 시스템
- 예약부터 진료, 문서 발급, 결제까지 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 인터셉터를 사용해서 인증과 재시도를 자동화했습니다.
- 재발급 도중에는 한 번의 재발급만 발생하도록 했습니다.
- 의사와 일자, 시간을 선택해서 예약을 등록할 수 있습니다.
- 예약, 대기 목록은 웹소켓을 사용해서 실시간으로 업데이트됩니다.
- 진료 시에는 이미지를 추가해서 내용을 보완할 수 있습니다.
- 진료 시에는 내원 이력이 생성됩니다.
| 내원 이력 |
진료 작성 |
 |
 |
- 의료진 간에 채팅이 가능합니다.
- 방 밖에서 채팅이 올 경우에 알림이 나타납니다.
| 김찬희 |
남승주 |
김수영 |
김영선 |
 |
 |
 |
 |
| 사용자 인증, 회원 |
예약, 접수, 대기, DevOps |
채팅, 웹소켓, 진료 |
관리자 페이지 |
2025.06.16 - 2025.07.23 (약 5주)
JavaScript Vue.js Axios Bootstrap
Java Spring Boot Lombok MyBatis
AWS Docker Docker Compose nginx WebSocket
📒팀 프로젝트 관리 문서