
(이미지 출처: 우아한 기술 블로그)
멀티 모듈 프로젝트로 구성하였습니다.
- independent available:
- infra-mysql
- infra-redis
- system domain:
- domain-integrated
- in system available:
- support:upload
- support:github-client
- support:reply-event-publisher
- support:room-event-publisher
- application:
- app:external-api
- app:match-websocket
- app:chat-websocket
질문에 대한 답변을 하면 GPT가 답변에 대해 부족한 점을 피드백하거나 새로운 꼬리질문을 합니다.
이후에 사용자는 꼬리질문에 대답하거나 모르는 것에 대해 물어볼 수 있습니다.

GPT가 아닌 사람과도 학습할 수 있습니다.
동료 매칭은 관심사(운영체제, 네트워크, 알고리즘 등)와 레이팅, 대기시간을 참고하는 매칭 시스템을 통해서 이루어집니다.

빈출 키워드는 학습 보조 수단입니다.
모르는 것을 질문할 때, 혹은 대답할 때 사용자는 빈출 키워드의 도움을 받을 수 있습니다.
빈출 키워드는 제출된 사용자들의 답변을 토큰화하여 통계를 내었을 때, 가장 많은 빈도로 사용된 단어 3개를 가리킵니다.

제출한 답변은 사용자의 Github 레포지토리에 자동으로 업데이트 됩니다.
Github OAuth 와 Rest API for Github Repository 를 사용하였습니다.
이를 통해 자신만의 답변을 완성해 나갈 수 있으며 지식공유 및 저장이 가능합니다.

사용자의 답변, GPT 혹은 동료와의 대화들은 저장되고 이후에도 조회할 수 있습니다.
- Github OAuth2 회원가입/로그인
- Session 기반 유저 인증
- Thymeleaf
- Tailwind CSS