Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
nnoonjy authored Nov 15, 2024
1 parent 97be532 commit 6100c5e
Showing 1 changed file with 91 additions and 4 deletions.
95 changes: 91 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,29 +77,102 @@
| 🩺 **λŒλ΄„λŒ€μƒμž 차트 확인** | πŸ“ **차트 μš”μ•½** |
|:--------------------------------------------------------------------------:|:--:|
| - **ν•˜λ£¨ μƒνƒœ 기둝 확인**<br/> - 사진과 차트 μž‘μ„± μ‹œ **μ•Œλ¦Ό μˆ˜μ‹ ** | - κΈ΄ 차트λ₯Ό **핡심 λ‚΄μš© μš”μ•½**<br/> - μ£Όμš” 사항을 **κ°„κ²°ν•˜κ²Œ 확인** |
| <img width="170" alt="voice_recognition" src="docs/source/chart_view.png"> | <img width="170" alt="chart_summary_feature" src="docs/source/chart_summary.png"> |
| <img width="170" alt="voice_recognition" src="https://github.com/user-attachments/assets/8576c182-0d63-4ebc-bb78-075c56db752a"> | <img width="170" alt="chart_summary_feature" src="https://github.com/user-attachments/assets/945784e9-6d78-47df-9e4a-d150cbc8ca04"> |

### μš”μ–‘λ³΄ν˜Έμ‚¬
| πŸ–‹οΈ **μš”μ–‘ 일지 μž‘μ„±** | πŸŽ™οΈ **μŒμ„± 인식 차트 μž‘μ„±** |
|:---------------------------------------------------------------------------:|:-:|
| - **μŒμ„±/사진 인식**, 직접 μž‘μ„± 지원<br/> - **λ‹€μ–‘ν•œ λ°©μ‹μœΌλ‘œ κ°„νŽΈ μž‘μ„±** | - **μŒμ„± 인식**을 톡해 주관식 μž…λ ₯<br/> - μŒμ„±μ„ ν…μŠ€νŠΈλ‘œ **μžλ™ λ³€ν™˜** |
| <img width="170" alt="voice_recognition" src="docs/source/chart_write.png"> |<img width="170" alt="voice_recognition" src="docs/source/voice_recognition.png"> |
| <img width="170" alt="create_chart" src="https://github.com/user-attachments/assets/0db6537d-a60a-4729-b757-36c4a88bafd4"> |<img width="170" alt="voice_recognition" src="https://github.com/user-attachments/assets/5f575c2d-64f9-4cb1-ad11-b934db0ca7b5">|


| πŸ“· **OCR 차트 μž‘μ„±** | πŸ“‘ **차트 μš”μ•½ κΈ°λŠ₯** | πŸ”” **μ•Œλ¦Ό κΈ°λŠ₯** |
|:--------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------:|:-----------------------------------------------------------------------:|
| - **차트 양식 ν”„λ¦°νŠΈ ν›„ 사진 인식**<br/> - 사진 ν•œ μž₯으둜 **μžλ™ 기둝 μ™„μ„±** | - **ν™˜μž μƒνƒœ μš”μ•½ 제곡**<br/> - μ—¬λŸ¬ ν™˜μžμ˜ **ν•˜λ£¨ μƒνƒœ κ°„νŽΈ 확인** | - μ‚¬μš©μžκ°€ μ˜ˆμ•½ν•œ μ‹œκ°„λ§ˆλ‹€<br/> - 문자/라인 λ©”μ‹œμ§€λ‘œ 차트 μž‘μ„± μ•Œλ¦Ό |
| <img width="170" alt="ocr_chart" src="https://github.com/example/ocr_chart.png"> | <img width="170" alt="chart_summary_feature" src="docs/source/chart_summary.png"> | <img width="170" alt="care_message" src="docs/source/care_message.jpg"> |
| <img width="170" alt="ocr_chart" src="https://github.com/example/ocr_chart.png"> | <img width="170" alt="chart_summary_feature" src="https://github.com/user-attachments/assets/945784e9-6d78-47df-9e4a-d150cbc8ca04"> | <img width="170" alt="care_message" src="docs/source/care_message.jpg"> |


### μš”μ–‘μ›
| πŸ–₯️ **μš”μ–‘μ‚¬, 보호자, λŒλ΄„λŒ€μƒμž 관리** | πŸ“Š **μ—‘μ…€ μ—…λ‘œλ“œ** |
|:----------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------:|
| - **μ›Ήμ‚¬μ΄νŠΈλ‘œ 정보 관리**<br/> - μš”μ–‘μ‚¬, 보호자, λŒ€μƒμž 정보 **μˆ˜μ • κ°€λŠ₯** | - μ—‘μ…€ 파일둜 **λŒ€λŸ‰ 데이터 μ—…λ‘œλ“œ**<br/> - 제곡된 ν…œν”Œλ¦Ώ 파일둜 **κ°„νŽΈ 등둝** |
| <img width="170" alt="admin_management" src="https://github.com/example/admin_management.png"> | <img width="170" alt="excel_upload" src="https://github.com/example/excel_upload.png"> |
| <img width="170" alt="admin_management" src="https://github.com/user-attachments/assets/4e2962a1-4272-46a4-87f0-dfab90788b81"> | <img width="170" alt="excel_upload" src="https://github.com/user-attachments/assets/51dd3078-b672-4cbf-ae78-bb0ddc7eb5a6">|

<br/>

## πŸ”§ 곡톡 핡심 개발 μ˜μ—­

### νšŒμ›κ°€μž… 방법
- μ‚¬μš©μžμ˜ 연령측을 κ³ λ €ν•  λ•Œ, 직접 νšŒμ›κ°€μž…ν•˜κ³  정보λ₯Ό λ“±λ‘ν•˜λŠ” 것이 μ–΄λ €μšΈ 것이라 μƒκ°ν•˜μ—¬ μš”μ–‘μ›μ΄λ‚˜ κ΄€λ¦¬μžκ°€ λŒλ΄„λŒ€μƒμžλ‚˜ 보호자의 아이디, λΉ„λ°€λ²ˆν˜Έλ₯Ό μƒμ„±ν•΄μ€λ‹ˆλ‹€.
- λŒλ΄„λŒ€μƒμžμ™€ λ³΄ν˜ΈμžλŠ” λΉ„λ°€λ²ˆν˜Έλ§Œ κΈ°μ–΅ν•˜λ©΄ μ„œλΉ„μŠ€ 이용이 κ°€λŠ₯ν•˜λ„λ‘ μ•„μ΄λ””λŠ” 본인의 μ „ν™”λ²ˆν˜Έλ‘œ λ“±λ‘ν•˜λ„λ‘ κ΅¬ν˜„ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
- κ΄€λ¦¬μžλŠ” μš”μ–‘μ›, 보호자, λŒλ΄„λŒ€μƒμž, μš”μ–‘λ³΄ν˜Έμ‚¬λ₯Ό 등둝할 수 μžˆμŠ΅λ‹ˆλ‹€.
- μš”μ–‘μ›μ€ 보호자, λŒλ΄„λŒ€μƒμž, μš”μ–‘λ³΄ν˜Έμ‚¬λ₯Ό ν•΄λ‹Ή μš”μ–‘μ›μ— 등둝할 수 μžˆμŠ΅λ‹ˆλ‹€.
- κ΄€λ¦¬μžμ˜ 경우 λžœλ”© νŽ˜μ΄μ§€μ— 적힌 μ΄λ©”μΌλ‘œ contactν•˜μ—¬ μ‹ λΆ„κ³Ό λͺ©μ μ„ μΈμ¦ν•œ λ’€ λ³Έ μ„œλΉ„μŠ€ λ‹΄λ‹Ήμžκ°€ 아이디 λΉ„λ°€λ²ˆν˜Έλ₯Ό λΆ€μ—¬ν•΄μ€λ‹ˆλ‹€.

## πŸ”§ FE 핡심 개발 μ˜μ—­

### OCR κΈ°λŠ₯
1. **κ³ λ € 사항**

2. **κ΅¬ν˜„ 방법**

3. **문제 ν•΄κ²°**

### μŒμ„±μΈμ‹ κΈ°λŠ₯
1. **κ΅¬ν˜„ 방법**
- SpeechToText 훅을 κ΅¬ν˜„ν•˜μ—¬ λ…ΉμŒμ‹œμž‘, λ…ΉμŒμ€‘μ§€, λ‹€μ‹œ λ…ΉμŒμ΄ κ°€λŠ₯ν•˜κ²Œ ν•©λ‹ˆλ‹€.
- λ…ΉμŒ 쀑에 μ œλŒ€λ‘œ 인식이 되고 μžˆλŠ”μ§€ μ‹€μ‹œκ°„μœΌλ‘œ 화면에 λ„μ›Œμ£Όμ–΄ 확인이 κ°€λŠ₯ν•˜κ²Œ ν•©λ‹ˆλ‹€.
- 쑰금 λΆ€μ‘±ν•œ 뢀뢄은 μŒμ„±μΈμ‹ μ™„λ£Œ ν›„ μž‘μ„± νŽ˜μ΄μ§€μ—μ„œ 직접 μˆ˜μ •μ΄ κ°€λŠ₯ν•˜λ„λ‘ ν•©λ‹ˆλ‹€.
2. **문제 ν•΄κ²°**
- λ…ΉμŒ 쀑 ν…μŠ€νŠΈκ°€ 화면에 μ œλŒ€λ‘œ λ„μ›Œμ§€μ§€ μ•Šκ³  쀑지, μ‹œμž‘ λ²„νŠΌμ΄ μ œλŒ€λ‘œ μž‘λ™ν•˜μ§€ μ•Šμ•˜μ—ˆλŠ”λ°, μƒνƒœ λ³€μˆ˜λ₯Ό μ—¬λŸ¬κ°œλ₯Ό μ‚¬μš©ν•˜λ‹€λ³΄λ‹ˆ κ·ΈλŸ¬ν•œ λ¬Έμ œκ°€ λ°œμƒν•˜μ˜€λ˜ κ²ƒμ΄μ—ˆμŠ΅λ‹ˆλ‹€. μ΅œλŒ€ν•œ 적은 μƒνƒœλ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ μ΄λŸ¬ν•œ 문제λ₯Ό ν•΄κ²°ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

### μ°¨νŠΈμž‘μ„± κΈ°λŠ₯
1. **κ³ λ € 사항**
- λ³Έ μ‚¬μ΄νŠΈμ˜ μœ μ €λ“€μ˜ μ—°λ ΉλŒ€λ₯Ό κ³ λ €ν•˜μ—¬ μ΅œλŒ€ν•œ λ‹¨μˆœν•˜κ³  μ§κ΄€μ μ΄κ²Œ κ΅¬ν˜„ν•΄μ•Όν•©λ‹ˆλ‹€.
- μ˜λ£Œμ™€ 관련이 μžˆλŠ” μ„œλΉ„μŠ€μ΄λ―€λ‘œ 일지 μž‘μ„±μ— ν•„μˆ˜μ μΈ ν•­λͺ©λ“€μ„ 빠짐없이 λ³΅μž‘ν•˜μ§€ μ•ŠμœΌλ©΄μ„œλ„ κ΅¬μ„±ν•΄μ•Όν•©λ‹ˆλ‹€.
2. **κ΅¬ν˜„ 방식**
- κ΅­κ°€μ—μ„œ κ·œμ •ν•˜κ³  μžˆλŠ” 일지에 λ“€μ–΄κ°€μ•Όν•˜λŠ” ν•­λͺ©λ“€μ„ λŒ€λΆ„λ₯˜μ— 따라 step으둜 λ‚˜λˆ„μ–΄ μ΅œλŒ€ν•œ 잘게 λ‚˜λˆ„μ–΄μ„œ μž…λ ₯을 λ°›μ•˜μŠ΅λ‹ˆλ‹€.
- λ‹€λ₯Έ ν˜•νƒœμ˜ μž…λ ₯을 받더라도 λ””μžμΈμ€ μ΅œλŒ€ν•œ λΉ„μŠ·ν•˜κ²Œ μ»΄ν¬λ„ŒνŠΈλ₯Ό κ΅¬ν˜„ν•˜μ—¬ ν”Όλ‘œκ°μ„ λœμ—ˆμŠ΅λ‹ˆλ‹€.

### 차트 μˆ˜μ • 및 μ‚­μ œ
1. **κ³ λ € 사항**
- 차트λ₯Ό 미리 μž‘μ„±ν•΄λ‘κ³  μ‹œκ°„μ΄ μ§€λ‚œ 뒀에 λ¬΄λΆ„λ³„ν•˜κ²Œ 차트λ₯Ό μˆ˜μ •ν•˜λ©΄ λ³΄ν˜Έμžκ°€ λΆˆλ§Œμ„ κ°€μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ 차트 μˆ˜μ •μ€ 당일 μž‘μ„±ν•œ 차트만 κ°€λŠ₯ν•˜κ²Œ ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
2. **κ΅¬ν˜„ 방식**
- μš”μ–‘λ³΄ν˜Έμ‚¬μ˜ κΆŒν•œμœΌλ‘œ λŒλ΄„λŒ€μƒμž 차트 μž‘μ„± μ•„μ΄μ½˜μ„ λˆ„λ₯΄λ©΄ ν˜„μž¬ λ‚ μ§œμ™€ λΉ„κ΅ν•˜μ—¬ μ‘΄μž¬ν•˜λŠ” μ°¨νŠΈκ°€ 있으면 차트 μˆ˜μ •μ„, μ—†μœΌλ©΄ μƒˆλ‘œμš΄ 차트 μž‘μ„±μ„ ν•˜κ²Œλ” κ΅¬ν˜„ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
- 차트 μ‚­μ œμ˜ 경우 μš”μ•½μΌμ§€ νŽ˜μ΄μ§€μ— μ‚­μ œ λ²„νŠΌμ„ 두어 μ‚­μ œκ°€ κ°€λŠ₯ν•˜κ²Œλ” ν–ˆμŠ΅λ‹ˆλ‹€.

### 둜그인 및 λ‘œκ·Έμ•„μ›ƒ
1. **둜그인**
- μš”μ–‘λ³΄ν˜Έμ‚¬μ™€ λ³΄ν˜ΈμžλŠ” μ „ν™”λ²ˆν˜Έμ™€ λΉ„λ°€λ²ˆν˜Έλ‘œ, μš”μ–‘μ›κ³Ό κ΄€λ¦¬μžλŠ” 아이디와 λΉ„λ°€λ²ˆν˜Έλ‘œ 둜그인이 κ°€λŠ₯ν•˜κ²Œ 화면을 κ΅¬μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
- ν•„μš”ν•œ ν•­λͺ©λ“€μ„ λ„£κ³  λ‘œκ·ΈμΈμ„ ν•˜λ©΄ accessTokenκ³Ό refreshToken을 λ°›μ•„μ˜€κ³  μΆ”ν›„ accessToken이 만료되면 μ €μž₯된 refreshToken으둜 μƒˆλ‘œμš΄ accessTokenκ³Ό refreshToken을 λ°œκΈ‰λ°›μŠ΅λ‹ˆλ‹€.
2. **λ‘œκ·Έμ•„μ›ƒ**
- λ‘œκ·Έμ•„μ›ƒμ„ 자주 μ΄μš©ν•˜λŠ” μ„œλΉ„μŠ€κ°€ μ•„λ‹ˆλ―€λ‘œ λ‘œκ·Έμ•„μ›ƒ κΈ°λŠ₯은 ν™”λ©΄ 우츑 상단에 ν”„λ‘œν•„ 사진을 λˆ„λ₯΄λ©΄ μ΄λ™ν•˜λŠ” λ§ˆμ΄νŽ˜μ΄μ§€μ—μ„œ λ‘œκ·Έμ•„μ›ƒμ΄ κ°€λŠ₯ν•˜λ„λ‘ κ΅¬ν˜„ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
- λ‘œκ·Έμ•„μ›ƒμ‹œ λžœλ”©νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•˜μ—¬ λ‹€μ‹œ 둜그인이 κ°€λŠ₯ν•˜κ²Œλ” ν•©λ‹ˆλ‹€.

### μ‚¬μš©μžμ˜ 편리λ₯Ό μœ„ν•΄ μ„Έμ„Έν•˜κ²Œ μ‹ κ²½ μ“΄ ν™”λ©΄
1. λ‹¨μˆœν•˜κ³  κΉ”λ”ν•œ UI
- ν•œ 화면에 μ λ‹Ήν•œ μ–‘μ˜ ν•­λͺ©λ“€λ§Œμ„ λ°°μΉ˜ν•˜μ—¬ 여백을 μ£Όμ–΄ 차트λ₯Ό μ‘°νšŒν•˜κ±°λ‚˜ μž‘μ„±ν•  λ•Œμ— ν”Όλ‘œν•˜μ§€ μ•Šλ„λ‘ ν•©λ‹ˆλ‹€.
- 직관적인 λ²„νŠΌμœΌλ‘œ μ‚¬μš©μ΄ 어렡지 μ•Šκ²Œ κ΅¬ν˜„ν•©λ‹ˆλ‹€.
2. **μΊ˜λ¦°λ”**둜 μ‘΄μž¬ν•˜λŠ” 차트 λ‚΄μ—­ ν•œλˆˆμ— 확인 κ°€λŠ₯
- 차트λ₯Ό 맀일 μž‘μ„±ν•˜μ§€λŠ” μ•ŠλŠ”λ‹€λŠ” νŠΉμ„±μƒ ν˜„μž¬ μ‘΄μž¬ν•˜λŠ” 차트의 μž‘μ„±μΌμ„ λΆˆλŸ¬μ™€ μΊ˜λ¦°λ”μ— ν‘œμ‹œν•΄μ€λ‹ˆλ‹€.
- ν‘œμ‹œλœ λ‚ μ§œλ₯Ό ν΄λ¦­ν•˜λ©΄ ν•΄λ‹Ή λ‚ μ§œμ— μž‘μ„±λœ 일지에 λŒ€ν•œ AI μš”μ•½μΌμ§€, 전체 일지 내역을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
- μ°¨νŠΈκ°€ μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” λ‚ μ§œλŠ” 선택할 수 μ—†κ²Œ ν•˜μ—¬ μ‚¬μš©ν•˜κΈ° μš©μ΄ν•˜κ²Œ ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
3. 일지 μž‘μ„± λ˜λŠ” μ—΄λžŒμ‹œ **step**을 ν‘œμ‹œ
- 단계바 ν΄λ¦­μ‹œ ν•΄λ‹Ή step으둜 λ„˜μ–΄κ°€κ²Œ ν•˜μ—¬ μž‘μ„±μ‹œμ—λŠ” μ•žμ„œ μž‘μ„±ν•œ λ‚΄μš©μ˜ μˆ˜μ •μ΄, μ—΄λžŒμ‹œμ—λŠ” μ›ν•˜λŠ” step 확인이 μš©μ΄ν•˜κ²Œ ν•©λ‹ˆλ‹€.
- 일지 μž‘μ„±μ‹œμ—λŠ” ν˜„μž¬ μž‘μ„± 쀑인 step μ΄ν›„μ˜ stepμœΌλ‘œλŠ” λ„˜μ–΄κ°€μ§€ λͺ»ν•˜κ²Œ ν•˜μ—¬ μž‘μ„± λ‚΄μš© λˆ„λ½μ„ λ°©μ§€ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
- 일지 μ—΄λžŒμ‹œμ—λŠ” 자유둭게 step 이동이 κ°€λŠ₯ν•©λ‹ˆλ‹€.
4. μ›Ή ν˜Ήμ€ νƒœλΈ”λ¦Ώ ν™”λ©΄μ—μ„œμ˜ **ν™”λ©΄ λ„ˆλΉ„ κ³ μ •**
- λ‹¨μˆœν•œ 화면을 μœ„ν•˜μ—¬ 단계λ₯Ό 잘게 λ‚˜λˆˆ 만큼 ν•œ ν™”λ©΄μ—μ„œ μˆ˜ν–‰ν•΄μ•Όν•  λ™μž‘λ“€μ΄ 적은 편이고 화면도 λ‹¨μˆœν•œ 편인 것을 κ³ λ €ν•˜μ—¬ 화면이 더 넓어지더라도 μ΅œλŒ€ λ„ˆλΉ„λ₯Ό κ³ μ •ν•˜μ—¬ UIκ°€ κΉ”λ”ν•˜κ²Œ μœ μ§€ν•  수 μžˆκ²Œλ” κ΅¬ν˜„ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
- κ΄€λ¦¬μžλ‚˜ μš”μ–‘ κΈ°κ΄€μ—μ„œλŠ” 컴퓨터λ₯Ό μ‚¬μš©ν•˜μ—¬ ν‘œλ₯Ό 관리할 것을 κ³ λ €ν•˜μ—¬ μ›Ή ν™”λ©΄ κ·œκ²©μ— λ§žμΆ”μ–΄ κ΅¬ν˜„ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
- λžœλ”©νŽ˜μ΄μ§€μ˜ 경우 λͺ¨λ“  ν™”λ©΄μ—μ„œλ„ μžμ—°μŠ€λŸ½κ²Œ 보이도둝 λ°˜μ‘ν˜•μœΌλ‘œ κ΅¬ν˜„ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

### μžμ—°μŠ€λŸ¬μš΄ λžœλ”©νŽ˜μ΄μ§€
1. **κ³ λ € 사항**
μ›Ήκ³Ό νƒœλΈ”λ¦Ώ, νœ΄λŒ€ν° λ“± λ‹€μ–‘ν•œ 규격으둜 μ‚¬μš©ν•˜λŠ” ν™ˆνŽ˜μ΄μ§€μ΄κΈ°μ— μžμΉ«ν•˜λ©΄ μ–΄μƒ‰ν•œ 배치의 화면이 λ„μ›Œμ§€λŠ” 화면이 λ„μ›Œμ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό λ°©μ§€ν•˜κΈ° μœ„ν•˜μ—¬ μ–΄λŠ 크기의 ν™”λ©΄μ—μ„œλ„ μžμ—°μŠ€λŸ½κ²Œ 보이게 κ΅¬ν˜„ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
2. **κ΅¬ν˜„ 방식**
- breakpoints.ts에 넀가지 규격λ₯Ό μ €μž₯ν•˜μ—¬ ν•΄λ‹Ή μˆ˜μΉ˜μ— λͺ» λ―ΈμΉ˜κ±°λ‚˜ μ΄ˆκ³Όν• λ•Œ 글씨 ν¬κΈ°λ‚˜ μ•„μ΄ν…œλ“€μ˜ 배치λ₯Ό μˆ˜μ •ν•©λ‹ˆλ‹€.
- λ°°μΉ˜μ— 맞게 μ• λ‹ˆλ©”μ΄μ…˜μ„ μΆ”κ°€ν•˜μ—¬ 뚝뚝 λŠκΈ°μ§€μ•Šκ³  λΆ€λ“œλŸ¬μš΄ λŠλ‚Œμ΄ λ“€κ²Œ κ΅¬ν˜„ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

## πŸ”§ BE 핡심 개발 μ˜μ—­

### OCR κΈ°λŠ₯
Expand Down Expand Up @@ -186,6 +259,20 @@ presigned URL을 톡해 이미지 νŒŒμΌμ„ S3에 μ—…λ‘œλ“œν•˜κ³ , λ°±μ—”λ“œ μ„œ
![line api](https://img.shields.io/badge/line%20api-00C300?style=flat-square&logo=line&logoColor=white)
![coolSms](https://img.shields.io/badge/coolSms-FF6C37?style=flat-square&logo=coolSms&logoColor=white)

![React](https://img.shields.io/badge/-React%2018-4894FE?style=flat-square&logo=react&logoColor=white)
![Vite](https://img.shields.io/badge/-Vite%205-646CFF?style=flat-square&logo=vite&logoColor=white)
![TypeScript](https://img.shields.io/badge/-TypeScript-3178C6?style=flat-square&logo=typescript&logoColor=white)

![Chakra UI](https://img.shields.io/badge/-Chakra%20UI-319795?style=flat-square&logo=chakraui&logoColor=white)
![Emotion](https://img.shields.io/badge/-Emotion-FF69B4?style=flat-square&logo=emotion&logoColor=white)
![Styled Components](https://img.shields.io/badge/-Styled%20Components-DB7093?style=flat-square&logo=styledcomponents&logoColor=white)

![React Query](https://img.shields.io/badge/-React%20Query-FF4154?style=flat-square&logo=reactquery&logoColor=white)
![Axios](https://img.shields.io/badge/-Axios-5A29E4?style=flat-square&logo=axios&logoColor=white)

![Tesseract.js](https://img.shields.io/badge/-Tesseract.js-3D348B?style=flat-square&logo=tesseract&logoColor=white)


</div>

<br/>
Expand Down

0 comments on commit 6100c5e

Please sign in to comment.