Skip to content
 
 

Latest commit

 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

🎊2025 Engineering Contest 동상🥉

한성 길라잡이 - Team GRIT

image


배포 링크

https://hangil.site

서비스 개요

image image image image image

로그인


image

대시보드


image

AI 추천 로드맵


image


이수현황


image

시간표


image


졸업요건


image


졸업 시뮬레이션

  1. 사용자가 지금까지 이수한 과목들과 현재 전공 이수학점을 보여줍니다.
image
2. 알고리즘을 통해 사용자의 트랙에 맞춰 선택할 과목이 전공선택인지 전공필수인지 보여줍니다.
image
3-1. 전공 선택일 경우 1, 2트랙 중 사용자가 직접 선택할 수 있습니다.
image
3-2. 전공 필수일 경우 자동으로 해당 트랙에 선택됩니다.
image
4. 과목의 트랙을 바꾸고 싶은 경우 변경 버튼을 통해 수정할 수 있습니다.
image
5. 졸업요건을 채울 경우 진행바는 초록색으로 변경됩니다. 이렇게 사용자는 졸업까지의 계획을 세우고 저장할 수 있습니다
image

Rag 아키텍처 (로드맵 생성 과정)

image

과목 데이터 → Qdrant 벡터화 → 사용자 쿼리 → 유사 과목 검색 → LLM 로드맵 생성

1. 데이터 준비 (Embedding & Indexing)

  • 모든 과목 정보(강의 계획서, 과목 설명 등)를 LLM이 이해할 수 있는 벡터(Vector) 로 변환합니다. 변환된 벡터들은 의미 기반 검색이 용이하도록 VectorDB에 저장(Indexing)됩니다.

2. 연관 데이터 검색

  • 사용자의 정보와 설문조사(관심 분야 등) 또한 벡터로 변환됩니다. VectorDB 내에서 사용자의 질의 벡터와 DB 내 과목 벡터들 간의 코사인 유사도(Cosine Similarity)를 측정하여 의미적으로 가장 관련성 높은 상위 K개의 문서를 신속하게 검색합니다.

3. 프롬프트 구성 및 응답 생성

  • 검색된 정보는 사용자의 수강 이력, 트랙 정보 등 개인 데이터에 따라 한 번 더 필터링됩니다. 최종적으로 정제된 데이터는 로드맵 생성 규칙과 함께 LLM에 전달됩니다. LLM은 이 컨텍스트를 바탕으로 환각(Hallucination) 현상을 최소화하여 맞춤형 로드맵을 생성합니다.



📗 API

image image image



🛠 ️System Architecture

image



🔑 ERD

image



💻 Tech Stack

Field Technology of Use
Frontend
Backend
Database
AI
DevOps
ETC

📂 Directory Structure

Frontend

📦Frontend
 ┣ 📂.git
 ┃ ┣ 📂hooks
 ┃ ┃ ┣ 📜applypatch-msg.sample
 ┃ ┃ ┣ 📜commit-msg.sample
 ┃ ┃ ┣ 📜fsmonitor-watchman.sample
 ┃ ┃ ┣ 📜post-update.sample
 ┃ ┃ ┣ 📜pre-applypatch.sample
 ┃ ┃ ┣ 📜pre-commit.sample
 ┃ ┃ ┣ 📜pre-merge-commit.sample
 ┃ ┃ ┣ 📜pre-push.sample
 ┃ ┃ ┣ 📜pre-rebase.sample
 ┃ ┃ ┣ 📜pre-receive.sample
 ┃ ┃ ┣ 📜prepare-commit-msg.sample
 ┃ ┃ ┣ 📜push-to-checkout.sample
 ┃ ┃ ┗ 📜update.sample
 ┃ ┣ 📂info
 ┃ ┃ ┗ 📜exclude
 ┃ ┣ 📂logs
 ┃ ┃ ┣ 📂refs
 ┃ ┃ ┃ ┣ 📂heads
 ┃ ┃ ┃ ┃ ┗ 📜develop
 ┃ ┃ ┃ ┗ 📂remotes
 ┃ ┃ ┃ ┃ ┗ 📂origin
 ┃ ┃ ┃ ┃ ┃ ┗ 📜HEAD
 ┃ ┃ ┗ 📜HEAD
 ┃ ┣ 📂objects
 ┃ ┃ ┣ 📂info
 ┃ ┃ ┗ 📂pack
 ┃ ┃ ┃ ┣ 📜pack-3e6ae162964f898e9555f4b541a48afd891d14f7.idx
 ┃ ┃ ┃ ┗ 📜pack-3e6ae162964f898e9555f4b541a48afd891d14f7.pack
 ┃ ┣ 📂refs
 ┃ ┃ ┣ 📂heads
 ┃ ┃ ┃ ┗ 📜develop
 ┃ ┃ ┣ 📂remotes
 ┃ ┃ ┃ ┗ 📂origin
 ┃ ┃ ┃ ┃ ┗ 📜HEAD
 ┃ ┃ ┗ 📂tags
 ┃ ┣ 📜HEAD
 ┃ ┣ 📜config
 ┃ ┣ 📜description
 ┃ ┣ 📜index
 ┃ ┗ 📜packed-refs
 ┣ 📂.github
 ┃ ┣ 📂ISSUE_TEMPLATE
 ┃ ┃ ┣ 📜📑-문서화.md
 ┃ ┃ ┣ 📜🔨-버그-해결.md
 ┃ ┃ ┣ 📜🖌️-퍼블리싱.md
 ┃ ┃ ┣ 📜🚀-기능-구현.md
 ┃ ┃ ┣ 📜🧭-환경설정.md
 ┃ ┃ ┗ 📜🧹-리팩토링.md
 ┃ ┗ 📜pull_request_template.md
 ┣ 📂.vscode
 ┃ ┣ 📜settings.json
 ┃ ┗ 📜tasks.json
 ┣ 📂public
 ┃ ┣ 📜file.svg
 ┃ ┣ 📜globe.svg
 ┃ ┣ 📜logo.svg
 ┃ ┣ 📜next.svg
 ┃ ┣ 📜vercel.svg
 ┃ ┗ 📜window.svg
 ┣ 📂src
 ┃ ┣ 📂app
 ┃ ┃ ┣ 📂(app)
 ┃ ┃ ┃ ┣ 📂completion
 ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┣ 📂dashboard
 ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┣ 📂graduation
 ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┣ 📂roadmap
 ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┣ 📂simulation
 ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┣ 📂timetable
 ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┗ 📜layout.tsx
 ┃ ┃ ┣ 📂(auth)
 ┃ ┃ ┃ ┣ 📂login
 ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┣ 📂onboarding
 ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┗ 📜layout.tsx
 ┃ ┃ ┣ 📜favicon.ico
 ┃ ┃ ┣ 📜globals.css
 ┃ ┃ ┣ 📜layout.tsx
 ┃ ┃ ┗ 📜page.tsx
 ┃ ┣ 📂components
 ┃ ┃ ┣ 📂client
 ┃ ┃ ┃ ┣ 📂wrapper
 ┃ ┃ ┃ ┃ ┣ 📜HeaderClientWrapper.tsx
 ┃ ┃ ┃ ┃ ┗ 📜LoginClientWrapper.tsx
 ┃ ┃ ┃ ┣ 📜CompletionPageClient.tsx
 ┃ ┃ ┃ ┣ 📜DashboardPageClient.tsx
 ┃ ┃ ┃ ┣ 📜ErrorBoundary.tsx
 ┃ ┃ ┃ ┣ 📜GraduationPageClient.tsx
 ┃ ┃ ┃ ┣ 📜Navigation.tsx
 ┃ ┃ ┃ ┣ 📜RoadmapPageClient.tsx
 ┃ ┃ ┃ ┣ 📜SimulationPageClient.tsx
 ┃ ┃ ┃ ┗ 📜TimetablePageClient.tsx
 ┃ ┃ ┣ 📂server
 ┃ ┃ ┃ ┗ 📜Layout.tsx
 ┃ ┃ ┣ 📂views
 ┃ ┃ ┃ ┣ 📜CompletionStatusView.tsx
 ┃ ┃ ┃ ┣ 📜DashboardView.tsx
 ┃ ┃ ┃ ┣ 📜GraduationView.tsx
 ┃ ┃ ┃ ┣ 📜LoginScreen.tsx
 ┃ ┃ ┃ ┣ 📜OnboardingScreen.tsx
 ┃ ┃ ┃ ┣ 📜RoadmapView.tsx
 ┃ ┃ ┃ ┣ 📜SimulationView.tsx
 ┃ ┃ ┃ ┣ 📜TimetableView.tsx
 ┃ ┃ ┃ ┗ 📜index.ts
 ┃ ┃ ┣ 📜Button.tsx
 ┃ ┃ ┣ 📜ConfirmationModal.tsx
 ┃ ┃ ┣ 📜CourseCard.tsx
 ┃ ┃ ┣ 📜OnboardingRestartModal.tsx
 ┃ ┃ ┣ 📜PrivacyPolicyModal.tsx
 ┃ ┃ ┣ 📜ProgressBar.tsx
 ┃ ┃ ┣ 📜Toast.tsx
 ┃ ┃ ┣ 📜Toggle.tsx
 ┃ ┃ ┣ 📜animations.ts
 ┃ ┃ ┗ 📜common.tsx
 ┃ ┣ 📂data
 ┃ ┃ ┗ 📜courseData.ts
 ┃ ┣ 📂hooks
 ┃ ┃ ┣ 📜useData.ts
 ┃ ┃ ┗ 📜useStore.ts
 ┃ ┣ 📂providers
 ┃ ┃ ┗ 📜QueryProvider.tsx
 ┃ ┣ 📂services
 ┃ ┃ ┣ 📜api.ts
 ┃ ┃ ┣ 📜authService.ts
 ┃ ┃ ┗ 📜modifyService.ts
 ┃ ┣ 📂store
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂styles
 ┃ ┃ ┗ 📜theme.ts
 ┃ ┣ 📂views
 ┃ ┃ ┣ 📜DashboardView.tsx
 ┃ ┃ ┣ 📜LoginScreen.tsx
 ┃ ┃ ┗ 📜OnboardingScreen.tsx
 ┃ ┗ 📜types.ts
 ┣ 📜.eslintignore
 ┣ 📜.eslintrc.json
 ┣ 📜.gitignore
 ┣ 📜.prettierignore
 ┣ 📜.prettierrc
 ┣ 📜README.md
 ┣ 📜eslint.config.mjs
 ┣ 📜jest.config.js
 ┣ 📜jest.setup.js
 ┣ 📜main.sql
 ┣ 📜main.vuerd.json
 ┣ 📜next.config.ts
 ┣ 📜package-lock.json
 ┣ 📜package.json
 ┣ 📜postcss.config.mjs
 ┣ 📜temp.vuerd.json
 ┗ 📜tsconfig.json
  
Backend

📦src ┣ 📂main ┃ ┣ 📂java ┃ ┃ ┗ 📂grit ┃ ┃ ┃ ┗ 📂guidance ┃ ┃ ┃ ┃ ┣ 📂domain ┃ ┃ ┃ ┃ ┃ ┣ 📂course ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂controller ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜CourseAdminController.java ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dto ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜CourseDataDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂entity ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜Course.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜CoursePrerequisite.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜CourseType.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜Semester.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜Track.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜TrackRequirement.java ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂repository ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜CoursePrerequisiteRepository.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜CourseRepository.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜TrackRepository.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜TrackRequirementRepository.java ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂service ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜CourseDescriptionCrawlingService.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜CourseService.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜TrackRequirementService.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜TrackService.java ┃ ┃ ┃ ┃ ┃ ┣ 📂graduation ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂controller ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜GraduationController.java ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dto ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜CertificationStatusDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜CrawlingGraduationDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜DashboardResponseDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜DetailedCreditDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜GraduationPlanRequestDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜GraduationResponseDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜TrackProgressDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂entity ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜CrawlingGraduation.java ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂repository ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜CrawlingGraduationRepository.java ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂service ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜GraduationService.java ┃ ┃ ┃ ┃ ┃ ┣ 📂roadmap ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂controller ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜RoadmapController.java ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dto ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜CourseDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜CourseRecommendationRequest.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜RoadmapDataDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜RoadmapResponseDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜SearchRequest.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜SemesterDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂entity ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜RecommendedCourse.java ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂repository ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜QdrantRepository.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜RecommendedCourseRepository.java ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂service ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜CourseEmbeddingService.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜LlmRoadmapService.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜RecommendedCourseService.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜RoadmapService.java ┃ ┃ ┃ ┃ ┃ ┣ 📂simulation ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂controller ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜SimulationController.java ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dto ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜GraduationPlanRequestDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜SimulationDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂entity ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜GraduationPlan.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜GraduationPlanCourse.java ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂repository ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜GraduationPlanCourseRepository.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜GraduationPlanRepository.java ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂service ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜SimulationService.java ┃ ┃ ┃ ┃ ┃ ┗ 📂user ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂controller ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜CrawlingController.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜DashboardController.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜FavoriteCourseController.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜LoginController.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜TimetableController.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜UserController.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜UserSyncController.java ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dto ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜AcademicStatusDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜CareerGoalDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜CourseGradeResponse.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜DashboardDataDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜DashboardResponseDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜ErrorResponse.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜FavoriteCourseRequest.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜FavoriteCourseResponse.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜HansungDataResponse.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜LoginRequest.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜LoginResponse.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜MajorCreditDetail.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜MajorCreditTotal.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜MajorRequiredCreditsResponse.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜NextSemesterCourseDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜SemesterGradeResponse.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜TimetableDataDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜TimetableDetailDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜TimetableEventDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜TimetableResponse.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜TotalGradeResponse.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜UserCourseDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜UserInfoDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜UserInfoResponse.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜UserSyncRequestDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜UserTrackDto.java ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂entity ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜CompletedCourse.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜CompletedGrade.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜EnrolledCourse.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜FavoriteCourse.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜GraduationRequirement.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜Setting.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜TrackType.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜UserTrack.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜Users.java ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂repository ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜CompletedCourseRepository.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜EnrolledCourseRepository.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜FavoriteCourseRepository.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜GraduationRequirementRepository.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜UserTrackRepository.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜UsersRepository.java ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂service ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜CrawlingConditionService.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜DashboardService.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜FavoriteCourseService.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜LoginService.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜TimetableService.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜UserAcademicInfoSyncService.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜UserCourseService.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜UserDetailsServiceImpl.java ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜UsersCrawlingService.java ┃ ┃ ┃ ┃ ┣ 📂global ┃ ┃ ┃ ┃ ┃ ┣ 📂common ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂response ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜ApiResponse.java ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜BaseEntity.java ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜SystemData.java ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜SystemDataRepository.java ┃ ┃ ┃ ┃ ┃ ┣ 📂config ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜QdrantConfig.java ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜SecurityConfig.java ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜SwaggerConfig.java ┃ ┃ ┃ ┃ ┃ ┗ 📂jwt ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜JwtAuthenticationFilter.java ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜JwtService.java ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜JwtToken.java ┃ ┃ ┃ ┃ ┗ 📜GuidanceApplication.java ┃ ┗ 📂resources ┃ ┃ ┣ 📂data ┃ ┃ ┃ ┗ 📜courses.json ┃ ┃ ┣ 📜application-dev.yml ┃ ┃ ┣ 📜application-local.yml ┃ ┃ ┗ 📜application.yml ┗ 📂test ┃ ┗ 📂java ┃ ┃ ┗ 📂grit ┃ ┃ ┃ ┗ 📂guidance ┃ ┃ ┃ ┃ ┣ 📂domain ┃ ┃ ┃ ┃ ┃ ┣ 📂roadmap ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂service ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜CourseEmbeddingServiceTest.java ┃ ┃ ┃ ┃ ┃ ┗ 📂user ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂service ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜UsersCrawlingServiceTest.java ┃ ┃ ┃ ┃ ┗ 📜GuidanceApplicationTests.java

🚀 How to Start

1. Clone The Repository

https://github.com/2025-Engineering-Contest-Team-GRIT/Frontend.git
https://github.com/2025-Engineering-Contest-Team-GRIT/Backend.git

2. ENV Setting

  • Backend/.env
POSTGRES_DB=
POSTGRES_USER=
POSTGRES_PASSWORD=
POSTGRES_URL=
SPRING_PROFILES_ACTIVE=
OPENAI_API_KEY=

3. Run Docker

docker-compose up --build

Install

yarn install

Run

yarn run dev

👥 Member

Name 최재현 김환희 변정원 김지훈
Role Team Leader,
Backend
Backend, DevOps Backend Frontend, Design
GitHub

About

한성대학교의 복잡한 트랙제와 졸업요건을 해결해 더 나은 대학생활을 제공하는 서비스

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors