문서 |
---|
7조 배포 주소 |
API 문서 |
피그마 |
7조 노션 |
- 카테캠의 핵심, 자기주도적 학습 -> 매일, 매주 TIL 작성 및 제출
- 하지만 100명이 넘는 학생들의 TIL을 노션의 한 페이지에서 관리
학생의 불편함 - 내 TIL이 삭제되는 일, 서로의 모든 TIL이 공개
멘토의 불편함 - 일일히 들어가서 작성 여부를 확인, 제출 여부 확인 어려움
-> 학습일지를 더 편하게 관리하고 제출할 수는 없을까?
- 로드맵을 만들어서 구성원들을 가입할 수 있게 하자
- 로드맵의 각 단계를 직접 생성하고, 구성원들은 각 단계별로 학습할 수 있도록 하자
- 제출 기한에 맞춰 단계별로 학습한 TIL을 제출할 수 있도록 하자
- 한 눈에 제출된 TIL들을 확인할 수 있게 하자
- 개발, 스택 공부는 스스로 시작해야하는 경우가 많음
하지만 어디서부터 어떤 순서로 해야할지 막막함
내가 잘하고 있는지도 확인하기 어려움
-> 어떤 순서로 공부할지, 또 잘하고 있는 지 확인할 방법은 없을까?
- 스스로 학습할 수 있게 로드맵들을 제공하자
- 각 단계별 참고 자료와 함께 학습하고 제출할 수 있도록 하자
- 제출이 완료되면 해당 단계에 대해서 제출된 TIL들을 볼 수 있도록 하자.
- 다른 사람들의 TIL을 보며 자신이 잘 학습했는지 확인할 수 있도록 하자.
TIL 작성 | 학습 참고 |
---|---|
- 마크다운 에디터를 통한 TIL 작성 -사라질 걱정 없는 상시 저장 기능 |
- 각 STEP별 참고자료 확인 - 글에 대한 코멘트 확인 |
메인 | 참고 자료 |
---|---|
- 작성한 TIL 목록들을 검색하고 확인 - 장미밭을 통해 학습 열정 확인 - 개인, 그룹 로드맵을 분류하여 관리 |
- 로드맵에 참고할 자료를 첨부하는 기능 -유튜브, 참고자료 링크 |
로드맵 목록 | 구성원 관리 |
---|---|
- 내가 참여하고 있는 로드맵의 목록을 확인 - 현재 모집중인 그룹 로드맵 목록 확인 |
- 현재 로드맵에 속한 그룹원 목록 -멤버 권한 변경, 강퇴 기능 -그룹원의 학습일지 작성현황 확인 -로드맵 신청 관리, 수락 거절 |
TIL 공유하기 | 깃허브 업로드 |
---|---|
- 내가 공부하는 주제에 대해 타인과 생각을 공유 |
- 작성한 학습일지를 깃허브에 업로드 하는 기능 |
기능 | 설명 |
---|---|
로그인/회원가입 | gmail(smtp)와 redis를 사용하여 이메일 인증 시스템을 구현했지만, 배포환경 변화로 인해 크램폴린에 배포하지는 못함 로그인과 재발급 요청에 따른 access token, refresh token 발급을 통해 JWT 관리 |
검색 기능 구현 | 메인 페이지에서 TIL 제목으로 검색, 장미밭 클릭으로 특정 날짜의 TIL 조회, 로드맵 페이지에서 로드맵 이름으로 검색, 상세 페이지에서 구성원 이름으로 검색 기능 구현 |
이미지 업로드 | S3 구축과 연동을 통해 프로필 사진 업로드, TIL 사진 업로드, 삭제 기능 구현 (크램폴린에서 연동하지 못함) |
알림 기능 구현 | 자신이 제출한 TIL에 달린 댓글에 대한 알림 기능 구현 |
댓글 기능 구현 | 제출한 TIL에 댓글 작성과 수정, 삭제 기능 구현 |
삭제 기능 구현 | 삭제 기능을 Soft delete로 구현하여, 데이터 무결성을 유지하고, 삭제된 데이터의 이력을 추적하거나 데이터 분석에 활용할 수 있도록 함. JPQL과 @Where을 이용하여 실제로 데이터가 삭제되지 않고 삭제된 것처럼 보이도록 구현. |
예외 처리 | 예외 코드를 ExceptionCode로 일괄 관리를 통해 유지 보수성와 중복 최소화 함 |
권한 처리 | 로드맵에서의 사용자의 역할(master, manager, member, none)에 맞는 권한 처리 |
테스트 코드 작성 | Junit을 이용하여 컨트룰러 단위 테스트를 진행하며 프로덕션 환경에서의 안전성 확보함 |
성능 개선 | lazy fetching 전략과 fetch join 사용으로 N+1 문제 개선 및 쿼리 효율성을 증가시킴 또한 엔티티 간 양방향 연관 관계가 아닌 단방향 연관 관계 설정을 통해 불필요한 참조와 의존성을 줄임 |
가독성 및 리팩토링 | DTO를 class가 아닌 record로 구현해 depth를 줄이고 재사용성과 가독성을 높임 |
김동영 | 조준서 | 이한홍 | 김수현 | 이상명 |
FE | FE | BE | BE | BE |
조장 | 테크리더 | 기획리더 | 스케줄러 | 리마인더 |