- 삼성 청년 SW 아카데미(SSAFY) 10기 자율 프로젝트
- 구미 2반 10팀 : 팀 SSAYFclover
- 2024.04.08. ~ 2024.05.20.
- 프로젝트 노션
re:code는 사용자가 등록한 알고리즘 문제 코드를 기반으로, 등록한 코드에 대해 AI를 사용하여 해당 코드의 주요 로직을 분석하고 주기적으로 해당 코드에 빈칸을 제공함으로써, 사용자에게 해당 알고리즘을 상기시키고 스스로 점검을 가능하게하여 사용자의 알고리즘 학습을 돕는 서비스입니다.
기능 | 내용 |
---|---|
문제 등록 | re:code 크롬 익스텐션을 다운로드하고 서비스와 연동하여 온라인 저지 사이트 백준에서 자신이 맞춘 문제를 re:code 서비스에 등록할 수 있습니다. |
리마인드 알림 | re:code 서비스에서 해당 날 복습할 문제가 있다면 사용자에게 알림을 전송합니다. |
사용자 설정 | 사용자는 알림 전송 시간, 복습 난이도 설정을 변경할 수 있습니다. |
복습 리스트 등록 | 사용자가 re:code 서비스에 등록한 코드를 대상으로 1일 뒤, 3일 뒤, 일주일 뒤 간격으로 복습리스트에 해당 코드의 복습 문제를 등록합니다. |
문제 풀기 | 복습 리스트에 등록된 문제를 풀 수 있습니다. 각 복습 문제를 완료할 때마다 사용자의 네잎클로버가 성장하고 통계량이 증가합니다. |
문제 조회 | 사용자가 re:code 서비스에 등록한 문제와 코드를 조회할 수 있습니다. |
복습 등록 | 사용자가 등록한 코드를 복습 리스트에 등록하여 복습할 수 있습니다. |
- re:code에서 제공하는 다양한 통계를 확인할 수 있습니다.
- 직관적이고 사용자 친화적인 서비스 이용 가이드 제공
- 알림 수신 설정, 시간 설정, 복습 난이도 설정을 변경할 수 있습니다.
- 크롬 웹 스토어에 등록된 확장 프로그램 다운 가능
- 백준 사이트에서 자신이 맞춘 문제의 코드를 가져와 문제 생성
- 복습리스트에 풀 문제가 있다면 사용자가 설정한 시간대에 알림을 받을 수 있습니다.
- 등록한 코드와 문제를 조회
- 알고리즘, 난이도 등 다양한 검색 기능
- 등록한 코드에 ai를 통한 빈칸을 생성
동시접속자 100명, 각 사용자 요청횟수 10회를 기준으로 함
API | TPS | 응답시간 평균 | 응답시간 표준편차 |
---|---|---|---|
레코드 가져오기(GET) | 89.9/sec | 801/ms | 286/ms |
레코드 복습완료(PUT) | 117.8/sec | 550/ms | 199/ms |
메인화면 통계 조회(GET) | 159.6/sec | 344/ms | 164/ms |
오늘의 복습문제 갯수 조회(GET) | 160/sec | 21/ms | 11/ms |
랜덤문제 업데이트(PATCH) | 95/sec | 351/ms | 178/ms |
보충문제 업데이트(PATCH) | 90/sec | 381/ms | 162/ms |
오늘의 복습문제 조회(GET) | 107.6/sec | 262/ms | 134/ms |
사용자 문제조회(GET) | 126.2/sec | 498/ms | 195/ms |
문제 상세 조회(GET) | 289.3/sec | 57/ms | 20/ms |
코드 삭제(DELETE) | 293.6/sec | 61/ms | 21/ms |
코드 수정(PATCH) | 306.9/sec | 25/ms | 13/ms |
코드 등록(POST) | 238.5/sec | 155/ms | 74/ms |
사용자 정보 조회(GET) | 109.1/sec | 271/ms | 127/ms |
## 🧑🤝🧑 팀원 소개
정경리 @gyeongri |
이승준 @tmdwns7809 |
배성연 @bae2019 |
전찬혁 @ChaNyeok1225 |
이수화 @rosielsh |
오은아 @eunalove |
Leader, BE | BE, Infra | FE | BE, FE, Extention | FE | BE, Infra |
📁 SRC
├─apis
├─assets
│ ├─clover
│ │ └─star
│ │ ├─css
│ │ └─scss
│ ├─guide
│ ├─lotties
│ └─tier
├─components
│ ├─@common
│ ├─alarm
│ ├─home
│ │ └─cloverbgComp
│ ├─login
│ ├─my
│ ├─problem
│ └─recode
│ ├─Modal
│ └─Tooltip
├─hooks
│ ├─@common
│ ├─alarm
│ ├─home
│ ├─problem
│ ├─recode
│ └─user
├─mocks
│ └─api
│ ├─data
│ └─handlers
├─pages
│ ├─error
│ ├─guide
│ ├─home
│ ├─private
│ ├─problem
│ ├─recode
│ └─redirect
├─services
│ ├─alarm
│ ├─home
│ ├─problem
│ ├─recode
│ └─user
├─stores
├─types
│ └─model
└─utils
📁 MAIN
├─java
│ └─com
│ └─clover
│ └─recode
│ ├─domain
│ │ ├─auth
│ │ │ ├─dto
│ │ │ └─service
│ │ ├─fcmtoken
│ │ │ ├─entity
│ │ │ ├─repository
│ │ │ └─service
│ │ ├─problem
│ │ │ ├─controller
│ │ │ ├─dto
│ │ │ ├─entity
│ │ │ ├─repository
│ │ │ └─service
│ │ ├─recode
│ │ │ ├─controller
│ │ │ ├─dto
│ │ │ │ ├─code
│ │ │ │ ├─gpt
│ │ │ │ └─prompt
│ │ │ ├─entity
│ │ │ ├─repository
│ │ │ └─service
│ │ ├─statistics
│ │ │ ├─controller
│ │ │ ├─dto
│ │ │ │ └─response
│ │ │ ├─entity
│ │ │ ├─repository
│ │ │ ├─scheduler
│ │ │ └─service
│ │ └─user
│ │ ├─controller
│ │ ├─dto
│ │ ├─entity
│ │ ├─repository
│ │ └─service
│ └─global
│ ├─config
│ ├─jwt
│ ├─oauth
│ ├─redis
│ └─result
│ └─error
│ └─exception
└─resources