🏆 2024 이화톤 우수상 수상 🏆
NOTEGATHER - 교육 정보 격차 해소를 위한 필기 공유 플랫폼
[학생들의 협력으로 만들어가는 학습 공유 커뮤니티, NOTEGATHER]
NOTEGATHER는 대학생들 사이의 교육 정보 격차를 해소하고자 탄생한 플랫폼입니다. 이는 학생들이 강의 중에 작성한 노트를 서로 공유하고, 생성형 AI를 이용해 이 필기를 바탕으로 맞춤형 퀴즈를 생성함으로써, 모든 학생이 효과적으로 자가 학습할 수 있도록 돕습니다. '함께 모이다(GATHER)'와 '노트(NOTE)'의 결합으로 명명된 NOTEGATHER는 교육 자료의 상호 공유를 통해 성장하는 커뮤니티를 목표로 합니다. 특히, 장애 학생 등 수업 참여에 어려움을 겪는 학생들이 학습 자료에 쉽게 접근할 수 있도록 하는 것을 핵심 목표로 하며, 이들을 위한 맞춤형 교육 자원 제공에 기여하고자 합니다. 이렇게 NOTEGATHER는 학생들의 자발적인 참여를 바탕으로 모든 대학생이 필요한 학습 자료를 손쉽게 공유하고 접할 수 있는 환경을 조성함으로써 교육의 격차를 줄이는 데 중점을 둡니다.
NOTEGATHER is a platform created to bridge the educational information gap among college students. It helps all students effectively self-learn by sharing notes written during lectures and generating customized quizzes based on these notes using Generative AI. NOTEGATHER, named a combination of GATHER and NOTE, aims to create a community that grows through the mutual sharing of educational materials. In particular, its core goal is to make it easy for students who have difficulty participating in classes, such as students with disabilities, to access learning materials, and it intends to contribute to providing customized educational resources for them. NOTEGATHER focuses on narrowing the educational gap by creating an environment where all college students can easily share and access necessary learning materials based on the voluntary participation of students.
[주요 기능]
- 필기 공유하기: 학생들이 강의 중 작성한 필기를 플랫폼에 업로드하고 공유합니다.
- 생성형 AI 활용하여 퀴즈 생성하기: 업로드된 필기를 바탕으로 AI가 맞춤형 퀴즈를 자동 생성해줍니다. 이 기능을 활용하여 학생들의 자가 학습 효율을 극대화할 수 있습니다.
- 노트 필기 검색하기: 강의명, 교수명 등의 키워드로 필요한 필기 노트를 쉽게 찾아볼 수 있습니다.
- 내가 올린 노트 필기 모아보기: 자신이 업로드한 필기 노트를 한눈에 확인하고 관리할 수 있습니다.
NOTEGATHER는 교육의 격차를 줄이고, 모든 학생이 평등하게 학습 자원을 공유하고 접근할 수 있는 환경을 목표로 합니다. 이화여대에 재학 중인 모든 학생들이, 학년과 국적을 불문하고, 이 플랫폼을 통해 학습의 질을 높이고, 학습 커뮤니티 내에서 서로를 지원하며 성장할 수 있기를 기대합니다.
NOTEGATHER aims to narrow the educational gap and create an environment where all students can share and access learning resources equally. We hope that all students at Ewha Womans University, regardless of grade or nationality, will be able to improve the quality of learning, support each other, and grow within the learning community through this platform.
정수완 | 박서연 | 오서영 | 박현아 | 황채원 |
---|---|---|---|---|
국제학과/융합콘텐츠학과 | 융합콘텐츠학과/컴퓨터공학 | 사이버보안학과 | 컴퓨터공학 | 컴퓨터공학 |
![]() |
![]() |
![]() |
![]() |
![]() |
Design/Service Design | Frontend Developer | Frontend Developer | Backend Developer | AI, Backend Developer |
- React
- Vercel
- Springboot 3.2.3
- MySQL 8.0
- Github Actions
- Docker/Google Artifact Registry
- Google Cloud Storage/Cloud Run
- OpenAI API
npm install axios
npm run build
npm start
https://ewhathon-notegather-vercel-test.vercel.app
HTTP Method | API Path | Description |
---|---|---|
POST | /signup | 회원가입 |
POST | /login | 로그인 |
HTTP Method | API Path | Description |
---|---|---|
GET | /student | 학생 하나 가져오기 |
PATCH | /student | 학생 수정하기 |
HTTP Method | API Path | Description |
---|---|---|
POST | /notes | 필기 업로드 |
GET | /notes | 필기 목록 가져오기 및 필기 검색 |
GET | /notes/{note_id} | 필기 하나 가져오기 |
GET | /notes/student | 특정 학생이 작성한 필기 목록 가져오기 |
PATCH | /notes/{note_id} | 필기 수정하기 |
DELETE | /notes/{note_id} | 필기 삭제하기 |
HTTP Method | API Path | Description |
---|---|---|
POST | /api/quizzes/generate?noteId={note_id} | 퀴즈 생성하기 |
📦src
┣ 📂home
┃ ┣ 📜home.style.js
┃ ┗ 📜index.js
┣ 📂login
┃ ┣ 📜index.js
┃ ┗ 📜signUp.jsx
┣ 📂mypage
┃ ┣ 📜documentList.jsx
┃ ┗ 📜index.js
┣ 📂navbar
┃ ┣ 📜Navbar.jsx
┃ ┣ 📜index.js
┃ ┗ 📜navbar.style.js
┣ 📂note
┃ ┣ 📜Note.jsx
┃ ┣ 📜index.js
┃ ┗ 📜note.style.js
┣ 📂quiz
┃ ┣ 📂quizBox
┃ ┃ ┣ 📜QuizBox.jsx
┃ ┃ ┣ 📜index.js
┃ ┃ ┗ 📜quizBox.style.js
┃ ┣ 📜Quiz.jsx
┃ ┣ 📜index.js
┃ ┗ 📜quiz.style.js
┣ 📂upload
┃ ┣ 📜Upload.jsx
┃ ┣ 📜index.js
┃ ┗ 📜upload.style.js
┣ 📜App.css
┣ 📜App.jsx
┣ 📜App.test.js
┣ 📜index.css
┣ 📜index.js
┣ 📜logo.svg
┣ 📜reportWebVitals.js
┗ 📜setupTests.js
└─src
├─main
│ ├─java.com.ewhathon.notegather
│ │ │ NotegatherApplication.java
│ │ │
│ │ ├─auth
│ │ │ │ AuthController.java
│ │ │ │ AuthDetails.java
│ │ │ │ AuthDetailService.java
│ │ │ │ AuthService.java
│ │ │ │
│ │ │ ├─dto
│ │ │ │ LoginRequestDto.java
│ │ │ │ RegisterRequestDto.java
│ │ │ │
│ │ │ ├─jwt
│ │ │ │ JwtAuthenticationFilter.java
│ │ │ │ JwtAuthorizationFilter.java
│ │ │ │ JwtToken.java
│ │ │ │ JwtTokenProvider.java
│ │ │ │
│ │ │ └─security
│ │ │ SecurityConfig.java
│ │ │
│ │ ├─config
│ │ │ CommonResponse.java
│ │ │
│ │ ├─domain
│ │ │ ├─entity
│ │ │ │ Lecture.java
│ │ │ │ Note.java
│ │ │ │ Student.java
│ │ │ │ UserRole.java
│ │ │ │
│ │ │ └─repository
│ │ │ LectureRepository.java
│ │ │ NoteRepository.java
│ │ │ StudentRepository.java
│ │ │
│ │ ├─service
│ │ │ GptService.java
│ │ │ LectureService.java
│ │ │ NoteService.java
│ │ │ StudentService.java
│ │ │
│ │ └─web
│ │ │ NoteController.java
│ │ │ QuizController.java
│ │ │ StudentController.java
│ │ │
│ │ └─dto
│ │ NoteListRequestDto.java
│ │ NoteListResponseDto.java
│ │ NoteRequestDto.java
│ │ NoteResponseDto.java
│ │ QuizItem.java
│ │ QuizRequestDto.java
│ │ QuizResponseDto.java
│ │ StudentRequestDto.java
│ │ StudentResponseDto.java
│ │
│ └─resources\
└─test\
페이지명 | 페이지화면 |
---|---|
회원가입 | ![]() |
로그인 | ![]() |
마이페이지 | ![]() |
페이지명 | 페이지화면 |
---|---|
필기 업로드 | ![]() |
필기 과목명 검색 | ![]() |
필기 교수명 검색 | ![]() |
필기 조회 | ![]() |
페이지명 | 페이지화면 |
---|---|
퀴즈 생성 | ![]() |
퀴즈 채점 | ![]() |
https://www.youtube.com/watch?v=O9Y7png3yps&feature=youtu.be