개발기간: 2023.06.23 ~ 2023.06.24
| 심준보 | 정호영 | 최민서 | 한지형 |
|---|---|---|---|
| @mmmjunjoy | @ghrnwjd | @cmsxi | @JiHyoungHAN |
Graduate Plan+는 학생들에게 졸업까지 남은 학점들을 한 눈에 확인할 수 있는 서비스를 제공합니다. 기존의 학교 시스템은 졸업 요건과 관련된 정보를 다소 불명확하게 분산적으로 제공하여 학생들의 불편함을 자아내곤 했습니다. 해당 프로젝트에서는 이러한 불편함을 해소하고자 학생 개개인이 졸업을 위해 수강해야 할 학점을 간편하게 확인할 수 있게 합니다.
이와 더불어 Graduate Plan+는 개인 맞춤형 시간표 제작 기능을 제공합니다. 개인 맞춤형 시간표 제작은 학생이 여태까지 들었던 과목 현황과 졸업 요건을 기반으로 들어야할 과목을 정리해 줍니다. 과목 정리만을 해주는 것이 아니라, 사용자가 원하는 강의 형태를 화면 상의 채팅 창에 문장으로 입력해주면 해당 문장에서 키워드를 추출하여 원하는 강의를 매칭시켜 사용자에게 강의를 추천해줍니다.
Graduate Plan+는 학생들이 필요로 하는 졸업 요건을 한 눈에 볼 수 있는 기능을 제공함과 동시에, 학생 개개인의 상황과 취향에 맞는 시간표를 만들 수 있는 서비스를 제공합니다.
For building and running the application you need:
$ git clone https://github.com/hufsice/graduation-plan-plus
$ cd graduation-plan-plus$ cd hackerthon-backend
$ cd hackerthon-frontend/app
$ npm run start
| 시작 페이지 | 로그인 페이지 |
|---|---|
| 메인 페이지 | 상세 페이지 |
|---|---|
| 시간표 생성 | 채팅 기반 시간표 생성 |
|---|---|
| 시간표 상세설정1 | 시간표 상세설정2 |
|---|---|
- 졸업을 위해 필요한 수강 과목 중 수강하지 못한 과목들을 출력해주어 편의성을 제공한다.
- 학생이 원하는 강의 형태를 입력하였을 시, 해당 문장에서 키워드 추출을 하여 각 키워드별 수업 매칭을 통해 알맞은 수업을 추천한다.
- 체크박스 선택으로 원하는 과목을 선택할 수 있으며, 입력 텍스트에 대해서도 키워드와 매칭하여 수업을 추천한다.
├── README.md
├── hackerthon-backend
│ ├── build.gradle
│ ├── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com.fts.hackathon
│ │ │ │ ├── controller
│ │ │ │ │ ├── ApiController.java
│ │ │ │ │ └── UserController.java
│ │ │ │ ├── dto
│ │ │ │ │ ├── KeywordDto.java
│ │ │ │ │ ├── ResponseDto.java
│ │ │ │ │ ├── StudentDto.java
│ │ │ │ │ └── UserInputDto.java
│ │ │ │ ├── model
│ │ │ │ │ ├── Department.java: Enum
│ │ │ │ │ ├── Essential.java: Enum
│ │ │ │ │ ├── Keyword.java: Enum
│ │ │ │ │ ├── LearnedSubject.java
│ │ │ │ │ ├── Professor.java
│ │ │ │ │ ├── ResponseStatus.java
│ │ │ │ │ ├── Student.java
│ │ │ │ │ ├── Subject.java
│ │ │ │ │ └── SubjectType.java: Enum
│ │ │ │ ├── repository
│ │ │ │ │ ├── LearnedSubjectRepository.java
│ │ │ │ │ ├── ProfessorRepository.java
│ │ │ │ │ ├── StudentRepository.java
│ │ │ │ │ └── SubjectRepository.java
│ │ │ │ ├── service
│ │ │ │ │ ├── StudentService.java
│ │ │ │ │ └── SubjectService.java
│ │ │ │ └── HackerthonApplication.java
│ │ │ └── resources
│ │ │ └── application.yml
│ │ │
│ │ ├── test
│ │ └── java.com.fts.hackthon
│ │ └── HackerthonApplicationTest.java
│ ├── gradle
│ │ └── wrapper
│ │ ├── gradle-wrapper.properties
│ │ └── gradle-wrapper.jar
│ │
│ ├── setting.gradle
│ ├── gradlew
│ └── gradlew.bat
└── hackerthon-frontend : 프론트엔드
├── README.md
├── component
│ ├── graph.js
│ ├── graduationSimulation.js
│ ├── line.js
│ ├── login.js
│ ├── mypage.js :
│ ├── pie.js
│ ├── popup.js
│ ├── service.js :
│ ├── table.js
│ └── talk.js
├── package-lock.json
├── package.json
├── src
│ ├── App.js
│ ├── App.css
│ ├── App.test.js
│ ├── header.js
│ ├── index.css
│ ├── index.js
│ ├── logo.svg
│ ├── main.js
│ ├── reportWebVitals.js
│ ├── setupTests.js
│ └── show.js
├── style
│ ├── graduationSimulation.css
│ ├── graph.css
│ ├── Header.css
│ ├── line.cssjs
│ ├── index.css
│ ├── login.css
│ ├── main.css
│ ├── mypage.css
│ ├── pie.css
│ ├── show.css
│ ├── talk.css
│ └── table.css
├── public
│ ├── favicon.ico
│ ├── index.html
│ ├── logo.png
│ └── logo_about.png
└── styles
├── _app.js
├── _document.js
├── about.js
├── course
├── index.js
├── lecture
└── Home.module.css