닥터캘을 누르면 배포된 사이트로 이동합니다
회원가입 요청 승인 외에는 사용을 자제해 주세요
서울대학교 병원 | 연세 세브란스 병원 | 고려대학교 안암병원 |
---|---|---|
[email protected] | [email protected] | [email protected] |
12345678 | 12345678 | 12345678 |
개요 : 대학병원 의사들을 위한 쉽고 빠른 당직, 연차 관리 서비스입니다.
기간 : 2023. 07. 24. ~ 2023. 08. 11.
기타 : 패스트캠퍼스 부트캠프의 프론트엔드&백엔드 미니프로젝트 협업으로 만들어진 서비스입니다.
송태형 (팀장) | 송정호 | 최해솔 | 김준희 (팀장) | 김다슬 | 임승이 |
---|---|---|---|---|---|
BE | BE | BE | FE | FE | FE |
송정호 | 송태형(팀장) | 최해솔 |
---|---|---|
DB 관리 AWS 배포 테이블 설계 User 관련 API 담당 - 회원가입 - 로그인, 로그아웃 - 개인정보 조회 - 개인정보 수정 - 비밀번호 변경 |
테이블 설계 Admin 관련 API 담당 - 사용자 관리 - 회원가입 승인, 요청 리스트 조회 - 유저 권한, 재직 상태 수정 - 당직, 연차 요청 리스트 조회 - 당직, 연차 승인/반려 처리 - 병원 리스트 조회 - 병원별 과(파트), 의사 조회 - 관리자 당직 추가/삭제 |
테이블 설계 Calendar 관련 API 담당 - 도메인 설계 - 메인 캘린더 조회 - 연차 등록 - 연차 수정 - 연차 삭제 |
Back-End
Front-End
Deployment
Cowork Tools
회원가입 | 로그인 |
---|---|
마이페이지 | 비밀번호 변경 |
---|---|
메인캘린더 (당직, 휴가조회) | 당직 변경 |
---|---|
연차 신청 | 연차 신청 내역 수정/삭제 |
---|---|
회원 권한 수정 | 재직 상태 수정 | 연차 승인/반려 |
---|---|---|
당직 일정 교환 | 당직 등록/삭제 |
---|---|
CREATE TABLE user_tb (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
emp_no INT,
name VARCHAR(20) NOT NULL,
email VARCHAR(40) NOT NULL UNIQUE,
password VARCHAR(120) NOT NULL,
phone VARCHAR(11),
hospital_id BIGINT NOT NULL,
dept_id BIGINT NOT NULL,
level ENUM('PK', 'INTERN', 'RESIDENT', 'FELLOW') NOT NULL,
auth ENUM('USER', 'ADMIN') NOT NULL,
status ENUM('NOTAPPROVED', 'APPROVED', 'RETIRED') NOT NULL,
annual INT,
duty INT,
profile_image_url VARCHAR(255),
hiredate TIMESTAMP,
resigneddate TIMESTAMP,
created_at TIMESTAMP,
updated_at TIMESTAMP
);
CREATE TABLE schedule_tb (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
user_id BIGINT NOT NULL,
hospital_id BIGINT NOT NULL,
category ENUM('ANNUAL', 'DUTY') NOT NULL,
start_date TIMESTAMP NOT NULL,
end_date TIMESTAMP NOT NULL,
is_validated ENUM('STANDBY', 'APPROVED', 'REJECTED') NOT NULL,
reason VARCHAR(255),
created_at TIMESTAMP,
updated_at TIMESTAMP
);
CREATE TABLE hospital_tb (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20),
created_at TIMESTAMP,
updated_at TIMESTAMP
);
CREATE TABLE dept_tb (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
hospital_id BIGINT,
name VARCHAR(20),
created_at TIMESTAMP,
updated_at TIMESTAMP
);
ALTER TABLE user_tb ADD FOREIGN KEY (hospital_id) REFERENCES hospital_tb(id);
ALTER TABLE user_tb ADD FOREIGN KEY (dept_id) REFERENCES dept_tb(id);
ALTER TABLE schedule_tb ADD FOREIGN KEY (user_id) REFERENCES user_tb(id);
ALTER TABLE schedule_tb ADD FOREIGN KEY (hospital_id) REFERENCES hospital_tb(id);
ALTER TABLE dept_tb ADD FOREIGN KEY (hospital_id) REFERENCES hospital_tb(id);
📦 src
└─ main
└─ java
└─ com
└─ fc
└─ miniserver
├─ _core
│ ├─ handler
│ │ └─ exception
│ ├─ security
│ └─ util
├─ domain
│ ├─ User.java
│ ├─ Schedule.java
│ ├─ Hospital.java
│ ├─ Dept.java
│ ├─ History.java
│ └─ etc Enum ...
├─ controller
├─ service
├─ repository
├─ dto
└─ Mini3ServerApplication.java