Skip to content

단국대학교 소프트웨어학과 졸업작품 [ScholarAI🧑‍🎓]

Notifications You must be signed in to change notification settings

HeeYeon-Ko/ScholarAI

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

134 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎓 ScholarAI



ScholarAI는 장학금 정보 탐색의 복잡함을 덜고,
개인 맞춤형 추천을 통해 사용자가 가장 알맞은 장학금
쉽고 빠르게 찾을 수 있도록 도와주는 모바일 애플리케이션입니다.



🧑‍💻 Team Members

이름 역할 담당 업무
🧭 황윤하 팀장 / Frontend Flutter 기반 UI/UX 개발 및 앱 구조 설계
🗄️ 고희연 Backend Spring Boot 기반 API 설계 및 DB 관리
🤖 곽나현 AI 장학금 추천 알고리즘 및 챗봇 개발


🛠️ Tech Stack

Frontend

Flutter

Backend

Spring Boot Spring Security Spring Data JPA JWT

AI & Chatbot

OpenAI LangChain ChromaDB FastAPI

Database & API Protocol

MySQL Redis REST API

External Services & Authentication

Google KakaoTalk Gmail Firebase

📌시스템 구조도




💡 Main Features

🔍 장학금 통합 검색 및 상세정보 조회

장학금 통합 검색 기능을 통해 장학금 상세 정보를 조회할 수 있습니다.



❤ 관심 장학금 찜 기능 및 일정 관리

관심 장학금을 찜하고, 일정 관리 기능을 통해 모집 마감일 하루 전에 알림을 받을 수 있습니다.



🤖 맞춤형 장학금 추천

사용자 프로필 기반 신청할 수 있는 장학금을 추천받을 수 있습니다.



💬 챗봇 FAQ

자주 묻는 질문에 대해 빠른 응답을 제공받을 수 있습니다.



📱 커뮤니티

사용자들끼리 정보를 공유하면서 소통할 수 있습니다.



📁 Project Structure

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                         프로젝트 개요 및 실행 가이드



🚀 How to Run

Requirements

For building and running the application you need:

Installation

git clone https://github.com/onlyunha/ScholarAI.git
cd ScholarAI

Frontend (Flutter)

cd frontend
flutter pub get
flutter run

💡 Flutter SDK 설치 필요: Flutter 설치 가이드
💡 Android Emulator 또는 iOS Simulator 필요

Backend (Spring Boot)

# 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

AI

cd AI
pip install -r requirements.txt
uvicorn api.recommend_server:app --reload 
uvicorn api.chatbot_server:app --reload --port 8001

💡 Pythhon 3.8 이상 권장



🔗 Related Links

Github https://github.com/onlyunha/ScholarAI
📝 Notion: https://enchanted-peripheral-3f3.notion.site/ScholarAI-Project-Plan-1b6f77a0e08e80209e6aeb0ea395fd47
🎥 시연 영상: https://youtu.be/b5SWrRfFYVU?feature=shared





About

단국대학교 소프트웨어학과 졸업작품 [ScholarAI🧑‍🎓]

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 59.1%
  • Java 26.3%
  • C++ 4.9%
  • CMake 3.9%
  • Python 3.5%
  • HTML 0.7%
  • Other 1.6%