Skip to content

anjinma-hackathon/Edu-Tech-BE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

33 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

EduTech Backend: ๊ต์œก ์‚ฌ๊ฐ์ง€๋Œ€๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•œ ์‹ค์‹œ๊ฐ„ ํ•™์Šต ์ง€์› ์„œ๋ฒ„

EduTech Backend๋Š” ๋Œ€๋ฉด ๊ต์œก ํ˜„์žฅ์—์„œ ์ฒญ๊ฐ์žฅ์• ์ธ, ์™ธ๊ตญ์ธ ํ•™์ƒ ๋“ฑ ์ •๋ณด ์ ‘๊ทผ์— ์–ด๋ ค์›€์„ ๊ฒช๋Š” ํ•™์Šต์ž๋ฅผ ์œ„ํ•ด ์‹ค์‹œ๊ฐ„ ์ž๋ง‰ ๋ฐ ๋ฒˆ์—ญ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๋Š” ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค.

๊ฐ•์˜์‹ค ๋‚ด ์Œ์„ฑ ์ค‘์‹ฌ ์ „๋‹ฌ ๋ฐฉ์‹์˜ ํ•œ๊ณ„๋ฅผ ๋ณด์™„ํ•˜๊ณ , ํ•™์Šต์ž์˜ ์ดํ•ด์™€ ์ฐธ์—ฌ๋ฅผ ๋•๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.


1. ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

๋Œ€๋ฉด ์ˆ˜์—… ํ™˜๊ฒฝ์—์„œ๋Š” ๊ฐ•์‚ฌ์˜ ์„ค๋ช…์ด ์Œ์„ฑ ์ค‘์‹ฌ์œผ๋กœ ์ „๋‹ฌ๋˜๊ธฐ ๋•Œ๋ฌธ์—
์ฒญ๊ฐ์žฅ์• ์ธ์ด๋‚˜ ์–ธ์–ด ์žฅ๋ฒฝ์ด ์žˆ๋Š” ์™ธ๊ตญ์ธ ํ•™์ƒ์€ ์ˆ˜์—…์„ ๋”ฐ๋ผ๊ฐ€๊ธฐ ์–ด๋ ค์šด ๋ฌธ์ œ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

๋ณธ ํ”„๋กœ์ ํŠธ๋Š” ์ด๋Ÿฌํ•œ ๊ต์œก ์‚ฌ๊ฐ์ง€๋Œ€๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐํš๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
์‹ค์‹œ๊ฐ„ ์ •๋ณด ์ „๋‹ฌ๊ณผ ๋ฒˆ์—ญ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด, ํ•™์Šต์ž๊ฐ€ ์ˆ˜์—… ๋‚ด์šฉ์„ ๋ณด๋‹ค ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.


2. ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ

  • ์ฒญ๊ฐ์žฅ์• ์ธ๊ณผ ์™ธ๊ตญ์ธ ํ•™์ƒ์˜ ์ˆ˜์—… ์ ‘๊ทผ์„ฑ ํ–ฅ์ƒ
  • ๋Œ€๋ฉด ๊ต์œก ํ™˜๊ฒฝ์—์„œ ์‹ค์‹œ๊ฐ„ ์ •๋ณด ์ „๋‹ฌ ์ง€์›
  • ๋ฒˆ์—ญ ๊ธฐ๋Šฅ์„ ํ†ตํ•œ ์–ธ์–ด ์žฅ๋ฒฝ ํ•ด์†Œ
  • ๊ฐ„ํŽธํ•œ ์ฐธ์—ฌ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ๊ฐœ์„ 

3. ํ•ต์‹ฌ ๊ธฐ๋Šฅ

  • ๊ฐ•์˜์‹ค ์ƒ์„ฑ ๋ฐ ์ฐธ์—ฌ ๊ธฐ๋Šฅ
  • ์ธ์ฆ ์ฝ”๋“œ ๊ธฐ๋ฐ˜ ๊ฐ„ํŽธ ์ž…์žฅ ๊ตฌ์กฐ
  • ์‹ค์‹œ๊ฐ„ ์ •๋ณด ์ „๋‹ฌ์„ ์œ„ํ•œ API ์ œ๊ณต
  • Ollama ๊ธฐ๋ฐ˜ ๋ฒˆ์—ญ ๊ธฐ๋Šฅ
  • OCR ๋ฐ ๋ฌธ์„œ ํ…์ŠคํŠธ ์ถ”์ถœ ์ง€์›
  • ์‚ฌ์šฉ์ž ๋ฐ ์„ธ์…˜ ์ƒํƒœ ๊ด€๋ฆฌ

์•„ํ‚คํ…์ณ

ARCHITECTURE

4. ๊ธฐ์ˆ  ์Šคํƒ

Backend

  • Java
  • Spring Boot
  • Spring Web / WebFlux

Real-time

  • WebSocket

Security

  • Spring Security ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ์ œ์–ด

Database

  • MySQL
  • JPA (Hibernate)

AI / Text Processing

  • Ollama (๋ฒˆ์—ญ ๋ฐ ํ…์ŠคํŠธ ์ฒ˜๋ฆฌ)
  • Tess4J (OCR)
  • Apache PDFBox (๋ฌธ์„œ ์ฒ˜๋ฆฌ)

5. ์‹œ์Šคํ…œ ๊ตฌ์กฐ

  • Client โ†’ Spring Boot API Server
  • API Server โ†’ MySQL
  • WebSocket์„ ํ†ตํ•œ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ
  • Spring Security ๊ธฐ๋ฐ˜ ์š”์ฒญ ์ ‘๊ทผ ์ œ์–ด
  • Ollama๋ฅผ ํ™œ์šฉํ•œ ๋ฒˆ์—ญ ๋ฐ ํ…์ŠคํŠธ ์ฒ˜๋ฆฌ ์ˆ˜ํ–‰

6. ์„ค๊ณ„ ํŠน์ง•

1) ์ ‘๊ทผ์„ฑ์„ ๊ณ ๋ คํ•œ ์ฐธ์—ฌ ๊ตฌ์กฐ

๋ณต์žกํ•œ ๋กœ๊ทธ์ธ ์ ˆ์ฐจ ๋Œ€์‹  ์ธ์ฆ ์ฝ”๋“œ ๊ธฐ๋ฐ˜ ์ž…์žฅ ๋ฐฉ์‹์„ ์ ์šฉํ•˜์—ฌ
์‚ฌ์šฉ์ž๊ฐ€ ๋น ๋ฅด๊ฒŒ ์ˆ˜์—…์— ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค.

2) ๋Œ€๋ฉด ๊ต์œก ํ™˜๊ฒฝ ์ค‘์‹ฌ ์„ค๊ณ„

์˜จ๋ผ์ธ ํ”Œ๋žซํผ์ด ์•„๋‹Œ ์‹ค์ œ ๊ฐ•์˜์‹ค ํ™˜๊ฒฝ์—์„œ์˜ ์‚ฌ์šฉ์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ,
์‹ค์‹œ๊ฐ„ ์ •๋ณด ์ „๋‹ฌ๊ณผ ์ฆ‰์‹œ ์ ‘๊ทผ์„ฑ์— ์ดˆ์ ์„ ๋งž์ท„์Šต๋‹ˆ๋‹ค.

3) ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ ๊ตฌ์กฐ

WebSocket ๊ธฐ๋ฐ˜ ํ†ต์‹ ์„ ํ™œ์šฉํ•˜์—ฌ
๊ฐ•์˜ ์ค‘ ๋ฐœ์ƒํ•˜๋Š” ์ •๋ณด๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค.

4) AI ๊ธฐ๋ฐ˜ ๋ฒˆ์—ญ ์ฒ˜๋ฆฌ

Ollama๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ…์ŠคํŠธ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฒˆ์—ญํ•จ์œผ๋กœ์จ
์™ธ๊ตญ์ธ ํ•™์Šต์ž์˜ ์ดํ•ด๋ฅผ ๋•๊ณ  ํ•™์Šต ์ ‘๊ทผ์„ฑ์„ ํ–ฅ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.


7. ๊ธฐ๋Œ€ ํšจ๊ณผ

  • ์ฒญ๊ฐ์žฅ์• ์ธ์˜ ์ˆ˜์—… ์ดํ•ด๋„ ๋ฐ ์ฐธ์—ฌ๋„ ํ–ฅ์ƒ
  • ์™ธ๊ตญ์ธ ํ•™์ƒ์˜ ์‹ค์‹œ๊ฐ„ ํ•™์Šต ์ง€์›
  • ๊ต์œก ์ฐธ์—ฌ ๊ฒฉ์ฐจ ์™„ํ™”
  • ๋Œ€๋ฉด ๊ต์œก ํ™˜๊ฒฝ์˜ ์ ‘๊ทผ์„ฑ ๊ฐœ์„ 

8. ํ–ฅํ›„ ๊ฐœ์„  ๋ฐฉํ–ฅ

  • ์‹ค์‹œ๊ฐ„ ์ž๋ง‰ ์ •ํ™•๋„ ํ–ฅ์ƒ
  • ๋ฒˆ์—ญ ํ’ˆ์งˆ ๊ฐœ์„  ๋ฐ ๋‹ค๊ตญ์–ด ํ™•์žฅ
  • ์‚ฌ์šฉ์ž ๋งž์ถคํ˜• ํ•™์Šต ์ง€์› ๊ธฐ๋Šฅ ์ถ”๊ฐ€
  • ์‹ค์ œ ๊ต์œก ํ˜„์žฅ ์ ์šฉ ๋ฐ ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜

9. ํ”„๋กœ์ ํŠธ ์˜์˜

๋ณธ ํ”„๋กœ์ ํŠธ๋Š” ๋‹จ์ˆœํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ๋„˜์–ด,
๊ธฐ์ˆ ์„ ํ†ตํ•ด ๊ต์œก ํ™˜๊ฒฝ์˜ ์ •๋ณด ๊ฒฉ์ฐจ๋ฅผ ์ค„์ด๊ณ 
๋” ๋งŽ์€ ํ•™์Šต์ž๊ฐ€ ๋™๋“ฑํ•˜๊ฒŒ ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ๋งŒ๋“œ๋Š” ๋ฐ ๋ชฉ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํŠนํžˆ ์ œํ•œ๋œ ์‹œ๊ฐ„ ๋‚ด ํ•ต์‹ฌ ๋ฌธ์ œ๋ฅผ ์ •์˜ํ•˜๊ณ  ํ•ด๊ฒฐํ•˜๋Š” ๊ณผ์ •์„ ํ†ตํ•ด
์‹ค์ œ ์„œ๋น„์Šค ์„ค๊ณ„ ์—ญ๋Ÿ‰์„ ๊ฐ•ํ™”ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

About

๐Ÿ†2025 ์—๋“€ํ…Œํฌ ์ฐฝ์˜์  ์•„์ด๋””์–ด ํ•ด์ปคํ†ค ํ”„๋กœ๊ทธ๋žจ ๊ฒฝ์ง„๋Œ€ํšŒ ์žฅ๋ ค์ƒ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors