-
Notifications
You must be signed in to change notification settings - Fork 3
프로젝트 설명
42서울 학생들의 동료 학습을 돕기 위한 Q&A 서비스입니다.
기존 42서울 학생들이 동료 학습을 위해 사용하는 슬랙의 채널의 불편함이 존재합니다.
-
카테고리의 부재: 같은 과제가 다양한 명칭으로 사용되어 정보가 분산되어 검색에 어려움이 생깁니다.
-
글과 댓글 구조: 슬랙은 단순한 글과 댓글 구조로 댓글들 사이의 의존관계를 파악하기 어렵습니다.
-
중복 질문: 위의 문제로 중복된 질문들이 생기고 이는 원하는 정보를 찾기 더욱 힘들게 만듭니다.
-
정보제공에 대한 보상 부재: 질문에 양질의 답변을 제공할 동기가 부족합니다.
-
카테코리의 부재
tag를 사용하여 글의 특성을 나타내고 특정 tag를 포함한 글을 조회할 수 있도록 합니다.
-
글과 댓글 구조
질문글, 답변글,각 글의 댓글을 이용하여 의존관계 파악을 용이하도록 합니다.
-
중복 질문
검색 기능과 tag 기능,추천 많은 글 순서로 보기등을 이용하여 원하는 질문을 쉽게 찾도록 하여 중복 질문을 줄입니다.
-
정보 제공에 대한 보상 부재
작성한 글에 대한 추천과 채택에 점수를 부여합니다. 그리고 월간 랭킹과 전체 랭킹으로 우수 유저에게 명예를 부여하고, 양질의 정보를 제공하도록 유도합니다.
통신 : REST API, Json
서버 : AWS lightsail / S3 / Nginx
개발 언어 : Javascript - NodeJS - ExpressJS / Javascript - React
데이터베이스 : Mysql / Redis
ORM : TypeORM
모니터링 : Google Analytics / Sentry
커뮤니케이션 : Slack
이슈관리 : Github
CI/CD : Actions
API 명세 : Swagger
버전 관리 : Git / GitFlow

질문글 리스트
- 각 질문글의 제목, 내용의 일부, 태그, 답변수, 추천수, 조회수, 글 작성 날짜, 작성자 정보를 제공합니다.
- 답변 수 글씨의 색상으로 채택 여부를 표현하여 해결된 질문인지 확인할 수 있도록 하였습니다.
- 최근순, 인기순으로 정렬할 수 있도록 하였습니다.
- 아직 채택이 완료되지 않은 글은 답변 필요 버튼으로 필터링하여 조회할 수 있도록 하였습니다.
랭킹기능
- 점수를 얻은 상위 10명의 유저를 보여줍니다.
- 전체 랭킹과, 월간 랭킹을 제공합니다.
- 랭킹 정보는 Redis의 Sorted set을 이용하여 저장하고 있습니다.
페이지 네이션
- 페이지 네이션으로 구현하여 탐색을 용이하게 하였습니다.

태그 리스트
- 사용된 태그의 리스트와 각 태그들의 사용된 수를 제공합니다. 각 태그를 클릭하여 해당 태그를 사용한 글들을 조회할 수 있습니다.
태그 사용한 글 조회
- 특정 태그를 사용한 글 리스트를 제공합니다. 최신순, 추천순 정렬과 답변이 필요한 글 필터링이 가능합니다.

질문 글 / 답변 글
-
추천 비추천 기능, 채택 기능, 답변 기능, 댓글 기능, 답변 작성 기능을 제공합니다.
-
채택된 답변은 파란색 테두리와 체크 표시로 식별할 수 있도록 하였습니다.
답변 작성
-
Markdown 기반으로 작성할 수 있도록 하였습니다.
-
preview 버튼으로 작성한 내용 미리 보기를 할 수 있습니다.
-
드래그 앤 드롭으로 이미지 파일을 첨부할 수 있습니다.
-
사진은 S3에 업로드됩니다.