ScholarAI๋ ์ฅํ๊ธ ์ ๋ณด ํ์์ ๋ณต์กํจ์ ๋๊ณ ,
๊ฐ์ธ ๋ง์ถคํ ์ถ์ฒ์ ํตํด ์ฌ์ฉ์๊ฐ ๊ฐ์ฅ ์๋ง์ ์ฅํ๊ธ์
์ฝ๊ณ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์๋๋ก ๋์์ฃผ๋ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์
์
๋๋ค.
| ์ด๋ฆ | ์ญํ | ๋ด๋น ์ ๋ฌด |
|---|---|---|
| ๐งญ ํฉ์คํ | ํ์ฅ / Frontend | Flutter ๊ธฐ๋ฐ UI/UX ๊ฐ๋ฐ ๋ฐ ์ฑ ๊ตฌ์กฐ ์ค๊ณ |
| ๐๏ธ ๊ณ ํฌ์ฐ | Backend | Spring Boot ๊ธฐ๋ฐ API ์ค๊ณ ๋ฐ DB ๊ด๋ฆฌ |
| ๐ค ๊ณฝ๋ํ | AI | ์ฅํ๊ธ ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ ๋ฐ ์ฑ๋ด ๊ฐ๋ฐ |
์ฅํ๊ธ ํตํฉ ๊ฒ์ ๊ธฐ๋ฅ์ ํตํด ์ฅํ๊ธ ์์ธ ์ ๋ณด๋ฅผ ์กฐํํ ์ ์์ต๋๋ค.
ScholarAI/
โโโ frontend/ # Flutter ๋ชจ๋ฐ์ผ ์ฑ (ํฌ๋ก์ค ํ๋ซํผ)
โ โโโ lib/
โ โ โโโ screens/ # ๋ก๊ทธ์ธ, ํ, ํ๋กํ ๋ฑ ๊ฐ ํ์ด์ง UI
โ โ โโโ widgets/ # ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ UI ์ปดํฌ๋ํธ
โ โ โโโ providers/ # ์ํ ๊ด๋ฆฌ (Auth, Profile ๋ฑ)
โ โ โโโ services/ # ์๋ฆผ, ๊ฒ์ํ, API ์ฐ๋
โ โ โโโ constants/ # ์์, ๋ฌธ์์ด, ์ด๋ฏธ์ง ๋ฑ ์ ์ญ ์์
โ โ โโโ main.dart # ์ฑ ์ง์
์
โ โโโ ios/, android/, macos/... # ํ๋ซํผ๋ณ ๋น๋ ์ค์
โ โโโ web/ # PWA์ฉ ๋ฆฌ์์ค (icons, manifest ๋ฑ)
โ
โโโ backend/ # Spring Boot ๊ธฐ๋ฐ REST API ์๋ฒ
โ โโ Dockerfile # ๋์ปค ์ด๋ฏธ์ง ๋น๋ ์ค์
โ โโ docker-compose.yml # ์ปจํ
์ด๋ ๊ตฌ์ฑ ํ์ผ
โ โโ build.gradle # Gradle ๋น๋ ์ค์
โ โโ settings.gradle
โ โโโ src/main/java/dankook.capstone
โ โ โโ auth # ์ธ์ฆ ๋ฐ JWT
โ โ โโ config # ์คํ๋ง ์ค์ (Security ๋ฑ)
โ โ โโ controller # API ์ปจํธ๋กค๋ฌ
โ โ โโ domain # JPA ์ํฐํฐ
โ โ โโ dto # ์์ฒญ/์๋ต DTO
โ โ โ โโ request
โ โ โ โโ response
โ โ โโ repository # ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทผ
โ โ โโ service # ๋น์ฆ๋์ค ๋ก์ง
โ โโโ src/main/resources/ # ์ค์ ํ์ผ, application.yml ๋ฑ
โ
โโโ AI/ # FastAPI ๊ธฐ๋ฐ ์ถ์ฒ ์์คํ
๋ฐ ์ฑ๋ด ์๋ฒ
โ โโโ .gitignore # Git์ ํฌํจํ์ง ์์ ํ์ผ/ํด๋ ๋ชฉ๋ก
โ โโโ requirements.txt # Python ํจํค์ง ์์กด์ฑ ๋ชฉ๋ก
โ โโโ api/ # FastAPI ์๋ฒ ์ํธ๋ฆฌํฌ์ธํธ
โ โ โโโ chatbot_server.py # ์ฑ๋ด API ์๋ฒ
โ โ โโโ recommend_server.py # ์ฅํ๊ธ ์ถ์ฒ API ์๋ฒ
โ โโโ config/ # ์ค์ ๊ด๋ จ ๋ชจ๋
โ โ โโโ settings.py # ํ๊ฒฝ ๋ณ์ ๋ฐ ์ค์ ํ์ผ
โ โโโ faq_chatbot/ # FAQ ์ฑ๋ด ๋ก์ง
โ โ โโโ faq_loader.py # FAQ ๋ฐ์ดํฐ ๋ก๋ ๋ฐ ์ ์ฒ๋ฆฌ
โ โโโ langchain_app/ # LangChain ๊ธฐ๋ฐ ์ถ์ฒ ์์คํ
โ โ โโโ chain.py # LangChain ์ฒด์ธ ๊ตฌ์ฑ
โ โ โโโ embedder.py # ๋ฌธ์ฅ ์๋ฒ ๋ฉ ๋ชจ๋
โ โ โโโ loader.py # ๋ฌธ์ ๋ก๋ฉ ๋ฐ ๊ฐ๊ณต
โ โ โโโ prompt_template.py # GPT ํ๋กฌํํธ ์ ์
โ โ โโโ retriever.py # ๋ฒกํฐ ๊ฒ์ ๋ฐ ๊ฒ์๊ธฐ๋ฅ
โ โโโ models/ # Pydantic ๋ชจ๋ธ ์ ์
โ โ โโโ user_input.py # ์ฌ์ฉ์ ์
๋ ฅ ๋ชจ๋ธ
โ โโโ utils/ # ์ ์ฒ๋ฆฌ ๋ฐ ์ ํธ์ฑ ์คํฌ๋ฆฝํธ
โ โโโ convert_xlsx_to_json.py # ์์
โ JSON ๋ณํ๊ธฐ
โ โโโ faq_preprocessing.py # FAQ ์ ์ฒ๋ฆฌ
โ โโโ recommend_preprocessing.py# ์ถ์ฒ ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ
โ โโโ scholarship_fetcher.py # ์ฅํ๊ธ ํฌ๋กค๋ฌ ๋๋ ์์ง๊ธฐ
โโโ .gitignore Git ์ ์ธ ํ์ผ ์ค์
โโโ README.md ํ๋ก์ ํธ ๊ฐ์ ๋ฐ ์คํ ๊ฐ์ด๋
For building and running the application you need:
git clone https://github.com/onlyunha/ScholarAI.git
cd ScholarAIcd frontend
flutter pub get
flutter run๐ก Flutter SDK ์ค์น ํ์: Flutter ์ค์น ๊ฐ์ด๋
๐ก Android Emulator ๋๋ iOS Simulator ํ์
# CLI๋ก ์คํ
cd backend
./gradlew build # ์ฒ์ ์คํ ์ ์์กด์ฑ ์ค์น
./gradlew bootRun # ์๋ฒ ์คํ
# IntelliJ๋ก ์คํ
1. 'backend/' ํด๋ ์ด๊ธฐ
2. `CapstoneApplication.java`์์ ์คํ๐ก ๊ธฐ๋ณธ ํฌํธ: 8080
๐ก ์ค์ ํ์ผ ์์น: backend/src/main/resources/application.yml
๐ก JDK 17 ์ด์ ๊ถ์ฅ
๐ก Gradle 8.12.1
๐ก IntelliJ ๋๋ CLI
cd AI
pip install -r requirements.txt
uvicorn api.recommend_server:app --reload
uvicorn api.chatbot_server:app --reload --port 8001๐ก Pythhon 3.8 ์ด์ ๊ถ์ฅ
Github https://github.com/onlyunha/ScholarAI
๐ Notion: https://enchanted-peripheral-3f3.notion.site/ScholarAI-Project-Plan-1b6f77a0e08e80209e6aeb0ea395fd47
๐ฅ ์์ฐ ์์: https://youtu.be/b5SWrRfFYVU?feature=shared











