<div align=center> ![logo](https://github.com/MINI-TEAM3/mini3-server/assets/128345842/b31a2646-1182-45ef-9bac-7f2c4e6859e9) # [๐ฅ ๋ฅํฐ์บ (Dr.Cal)](https://drcal.netlify.app) **๋ฅํฐ์บ์ ๋๋ฅด๋ฉด ๋ฐฐํฌ๋ ์ฌ์ดํธ๋ก ์ด๋ํฉ๋๋ค** ### [๐ฉโ๐ฉโ๐ง Front-End Repository](https://github.com/MINI-TEAM3/client) ### [๐ Dr.Cal(admin)](https://drcal-admin.netlify.app) **``` ํ์๊ฐ์ ์์ฒญ ์น์ธ ์ธ์๋ ์ฌ์ฉ์ ์์ ํด ์ฃผ์ธ์ ```** |์์ธ๋ํ๊ต ๋ณ์|์ฐ์ธ ์ธ๋ธ๋์ค ๋ณ์|๊ณ ๋ ค๋ํ๊ต ์์๋ณ์| |:----:|:----:|:----:| |admin@doctorcal.com|admin2@doctorcal.com|admin3@doctorcal.com| |12345678|12345678|12345678| ### ๐๏ธ ํ๋ก์ ํธ ์์ฐ ์์ [![Video Label](http://img.youtube.com/vi/-bGH_dDcfH8/0.jpg)](https://youtu.be/-bGH_dDcfH8?si=zWJW0cSp2CfjvPSj) </div> <br><br> ## ๐๏ธ ํ๋ก์ ํธ ์๊ฐ > **๊ฐ์** : ๋ํ๋ณ์ ์์ฌ๋ค์ ์ํ ์ฝ๊ณ ๋น ๋ฅธ ๋น์ง, ์ฐ์ฐจ ๊ด๋ฆฌ ์๋น์ค์ ๋๋ค. <br/> > **๊ธฐ๊ฐ** : 2023. 07. 24. ~ 2023. 08. 11. <br/> > **๊ธฐํ** : ํจ์คํธ์บ ํผ์ค ๋ถํธ์บ ํ์ ํ๋ก ํธ์๋&๋ฐฑ์๋ ๋ฏธ๋ํ๋ก์ ํธ ํ์ ์ผ๋ก ๋ง๋ค์ด์ง ์๋น์ค์ ๋๋ค. <br/> <p align=center> <img src="https://img.shields.io/github/issues/MINI-TEAM3/mini3-server?style=flat"/> <img src="https://img.shields.io/github/issues-closed/MINI-TEAM3/mini3-server?style=flat"/> <img src="https://img.shields.io/github/last-commit/MINI-TEAM3/mini3-server?style=flat"/> </p> <br><br> ## ๐ค ํ๋ก์ ํธ ํ์ | **[์กํํ](https://github.com/Ussu1112) (ํ์ฅ)** | **[์ก์ ํธ](https://github.com/sdfgx123)** | **[์ตํด์](https://github.com/atsunsetree)** | **[๊น์คํฌ](https://github.com/dev-junehee) (ํ์ฅ)** | **[๊น๋ค์ฌ](https://github.com/7581058)** | **[์์น์ด](https://github.com/doitidey)** | |:-----------------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------:|:----------------------------------------------------------------------------------------------------------------------------------:|:----------------------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------:| | BE | BE | BE | FE | FE | FE | | <a href="https://github.com/Ussu1112"><img src="https://avatars.githubusercontent.com/u/42778315?v=4" width=150px alt="์กํํ"/> | <a href="https://github.com/sdfgx123"><img src="https://avatars.githubusercontent.com/u/64997246?v=4" width=150px alt="์ก์ ํธ" /> | <a href="https://github.com/atsunsetree"><img src="https://avatars.githubusercontent.com/u/128345842?v=4" width=150px alt="์ตํด์" /> | <a href="https://github.com/dev-junehee"><img src="https://avatars.githubusercontent.com/u/116873887?v=4" width=150px alt="๊น์คํฌ" /> | <a href="https://github.com/7581058"><img src="https://avatars.githubusercontent.com/u/100559990?v=4" width=150px alt="๊น๋ค์ฌ" /> | <a href="https://github.com/doitidey"><img src="https://avatars.githubusercontent.com/u/128357188?v=4" width=150px alt="์์น์ด" /> | <br> ## ๐ชง ์ญํ ๋ถ๋ด | ์ก์ ํธ | ์กํํ(ํ์ฅ) | ์ตํด์ | |:----------------------:|:----------------------:|:----------------------:| | DB ๊ด๋ฆฌ </br> AWS ๋ฐฐํฌ </br> ํ ์ด๋ธ ์ค๊ณ </br> User ๊ด๋ จ API ๋ด๋น </br> - ํ์๊ฐ์ </br> - ๋ก๊ทธ์ธ, ๋ก๊ทธ์์ </br> - ๊ฐ์ธ์ ๋ณด ์กฐํ </br> - ๊ฐ์ธ์ ๋ณด ์์ </br>- ๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ | ํ ์ด๋ธ ์ค๊ณ </br> Admin ๊ด๋ จ API ๋ด๋น </br> - ์ฌ์ฉ์ ๊ด๋ฆฌ </br> - ํ์๊ฐ์ ์น์ธ, ์์ฒญ ๋ฆฌ์คํธ ์กฐํ </br> - ์ ์ ๊ถํ, ์ฌ์ง ์ํ ์์ </br> - ๋น์ง, ์ฐ์ฐจ ์์ฒญ ๋ฆฌ์คํธ ์กฐํ </br> - ๋น์ง, ์ฐ์ฐจ ์น์ธ/๋ฐ๋ ค ์ฒ๋ฆฌ </br> - ๋ณ์ ๋ฆฌ์คํธ ์กฐํ </br> - ๋ณ์๋ณ ๊ณผ(ํํธ), ์์ฌ ์กฐํ </br> - ๊ด๋ฆฌ์ ๋น์ง ์ถ๊ฐ/์ญ์ </br> | ํ ์ด๋ธ ์ค๊ณ </br> Calendar ๊ด๋ จ API ๋ด๋น </br> - ๋๋ฉ์ธ ์ค๊ณ </br> - ๋ฉ์ธ ์บ๋ฆฐ๋ ์กฐํ </br> - ์ฐ์ฐจ ๋ฑ๋ก </br> - ์ฐ์ฐจ ์์ </br> - ์ฐ์ฐจ ์ญ์ | <br></br> ## ๐ ๏ธ๏ธ ์ฌ์ฉ๊ธฐ์ ๋ฐ ๊ฐ๋ฐํ๊ฒฝ **Back-End** <p> ![Java](https://img.shields.io/badge/java11-007396?style=flat&logo=java&logoColor=white) ![SpringBoot](https://img.shields.io/badge/SpringBoot-6DB33F?style=flat&logo=springboot&logoColor=white) ![Spring Security](https://img.shields.io/badge/Spring_Security-6DB33F?style=flat&logo=springsecurity&logoColor=white) ![MySQL](https://img.shields.io/badge/MySQL-4479A1?style=flat&logo=mysql&logoColor=white) ![Gradle](https://img.shields.io/badge/Gradle-02303A?style=flat&logo=gradle&logoColor=white) ![JPA](https://img.shields.io/badge/JPA-527FFF?style=flat&logo=java&logoColor=white) ![IntelliJ IDEA](https://img.shields.io/badge/IntelliJ_IDEA-000000?style=flat&logo=intellijidea&logoColor=white) </p> **Front-End** <p> <img src="https://img.shields.io/badge/React-61DAFB?style=flat&logo=React&logoColor=white" /> <img src="https://img.shields.io/badge/TypeScript-3178C6?style=flat&logo=TypeScript&logoColor=white" /> <img src="https://img.shields.io/badge/styledcomponents-DB7093?style=flat&logo=styledcomponents&logoColor=white" /> <img src="https://img.shields.io/badge/Chart.js-FF6384?style=flat&logo=chartdotjs&logoColor=white" /> <img src="https://img.shields.io/badge/Ant Design-0170FE?style=flat&logo=antdesign&logoColor=white" /> <img src="https://img.shields.io/badge/Zustand-000000?style=flat&logo=Zustand&logoColor=white" /> </p> **Deployment** <p> ![AWS](https://img.shields.io/badge/AWS-232F3E?style=flat&logo=amazonaws&logoColor=white) ![Amazon Ec2](https://img.shields.io/badge/AWS_EC2-FF9900?style=flat&logo=amazonec2&logoColor=white) </p> **Cowork Tools** <p> ![Slack](https://img.shields.io/badge/Slack-4A154B?style=flat&logo=Slack&logoColor=white) ![Notion](https://img.shields.io/badge/Notion-000000?style=flat&logo=Notion&logoColor=white) ![Zoom](https://img.shields.io/badge/Zoom-2D8CFF?style=flat&logo=Zoom&logoColor=white) ![Figma](https://img.shields.io/badge/Figma-F24E1E?style=flat&logo=figma&logoColor=white) ![GitHub](https://img.shields.io/badge/GitHub-181717?style=flat&logo=GitHub&logoColor=white) </p> <br></br> ## ๐ฅ๏ธ ๊ธฐ๋ฅ ์๊ฐ #### 1. User | ํ์๊ฐ์ | ๋ก๊ทธ์ธ | |:----:|:-----:| |<img src="https://github.com/MINI-TEAM3/mini3-server/assets/128345842/5faf710e-7299-4233-9dcb-35215189ca62" width=600/>|<img src="https://github.com/MINI-TEAM3/mini3-server/assets/128345842/4e42e628-31d6-41ba-b781-9c80824d7097" width=600/>| <br> |๋ง์ดํ์ด์ง|๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ| |:-----:|:-----:| |<img src="https://github.com/MINI-TEAM3/mini3-server/assets/128345842/de97bd80-9289-416d-a13f-f2d6614f8535" width=600/>|<img src="https://github.com/MINI-TEAM3/mini3-server/assets/128345842/c2edced4-2ab5-4ec0-9f23-6b4c0334006a" width=600/>| <br></br> #### 2. Schedule | ๋ฉ์ธ์บ๋ฆฐ๋ (๋น์ง, ํด๊ฐ์กฐํ) | ๋น์ง ๋ณ๊ฒฝ | |:---------------------:|:-----:| |<img src="https://github.com/MINI-TEAM3/mini3-server/assets/128345842/6dc8ae39-ded3-4a8d-a13b-5d894d63bc51" width=600/>|<img src="https://github.com/MINI-TEAM3/mini3-server/assets/128345842/ee680092-f7f3-4084-9523-6ec3bd083a5f" width=600/>| <br> |์ฐ์ฐจ ์ ์ฒญ|์ฐ์ฐจ ์ ์ฒญ ๋ด์ญ ์์ /์ญ์ | |:-----:|:-------:| |<img src="https://github.com/MINI-TEAM3/mini3-server/assets/128345842/d64ad8c1-a633-4ba3-b346-e627814b3f4d" width=600/>|<img src="https://github.com/MINI-TEAM3/mini3-server/assets/128345842/6dcf044a-31df-4e70-b34a-50e00edb0197" width=600/>| <br></br> #### 3. Admin | ํ์ ๊ถํ ์์ | ์ฌ์ง ์ํ ์์ | ์ฐ์ฐจ ์น์ธ/๋ฐ๋ ค | |:--------:|:-----:|:--------:| |<img src="https://github.com/MINI-TEAM3/mini3-server/assets/128345842/256b4b44-0520-44c8-b885-77a4dbb254fb" width=400/>|<img src="https://github.com/MINI-TEAM3/mini3-server/assets/128345842/a810b65d-830b-4658-9a8f-64bd7247f536" width=400/>|<img src="https://github.com/MINI-TEAM3/mini3-server/assets/128345842/9a8a75a7-da95-4d63-8b6c-2f3d1ea13bc1" width=400/>| <br> | ๋น์ง ์ผ์ ๊ตํ | ๋น์ง ๋ฑ๋ก/์ญ์ | |:-----:|:-----:| |<img src="https://github.com/MINI-TEAM3/mini3-server/assets/128345842/74125bb4-d765-466c-af5a-0241c701118f" width=600/>|<img src="https://github.com/MINI-TEAM3/mini3-server/assets/128345842/8bf5fa31-076a-42d5-aada-8ec0d0e0abe8" width=600/>| <br></br> ## โ๏ธ ํ๋ก์ ํธ ์ค์ ### 1๏ธโฃ ERD ![image](https://github.com/MINI-TEAM3/mini3-server/assets/128345842/36976315-a826-42a0-a153-c065b4a01ff7) <br> ### 2๏ธโฃ ํ ์ด๋ธ ์ค๊ณ ```sql 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); ``` ### 3๏ธโฃ ํจํค์ง ๊ตฌ์กฐ ```markdown ๐ฆ 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 ``` <br></br> ## ๐ API ๋ช ์ธ์ <p> <img width="715" alt="แแ ณแแ ณแ แ ตแซแแ ฃแบ 2023-08-10 แแ ฉแแ ฎ 9 39 14" src="https://github.com/MINI-TEAM3/mini3-server/assets/128345842/c8ba70c7-9696-49b2-9bc5-5d5fb0e71001"> <img width="703" alt="แแ ณแแ ณแ แ ตแซแแ ฃแบ 2023-08-10 แแ ฉแแ ฎ 9 45 57" src="https://github.com/MINI-TEAM3/mini3-server/assets/128345842/e2387de8-8e32-48ad-837d-e60522a54ae0"> </p>