![스크린샷 2023-11-22 오후 9 46 59](https://private-user-images.githubusercontent.com/85063965/285130016-5ad668a4-e445-4378-954f-8be4c413d0c1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTkxMjQ0NDIsIm5iZiI6MTcxOTEyNDE0MiwicGF0aCI6Ii84NTA2Mzk2NS8yODUxMzAwMTYtNWFkNjY4YTQtZTQ0NS00Mzc4LTk1NGYtOGJlNGM0MTNkMGMxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjIzVDA2MjkwMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTllYmMxM2VjZTBiOGUxZjUxMGRlMzA1OGM4NzQ1N2MwYjc4YjRmOTNiMTFlMmU2Yzg3YmI3NDVjNzg2MWQ5MjgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.A0_wzIHWUk11OpHgisOCZtLO5HQXzqE99BYwTa2dbD0)
그래프 기반 독서 기록 서비스
- 서점 사이트 크롤링하여 책 데이터를 저장해요
- 나만의 서재 만들어 기록할 수 있어요
- 등록한 책을 쌓아볼 수 있어요
- 일주일 독서 추세를 그래프로 볼 수 있어요
Frontend | Backend | Test | Database | DevOps |
---|---|---|---|---|
-
- 밀리의 서재 서비스와 비슷하게 구현
- 스크롤 위치에 따른 이벤트를 적용시켜 동적인 메인페이지 퍼블리싱 진행
-
검색 페이지
- swiper 를 사용한 슬라이더 구현
- 인기있는 도서 안내
- 가장 좋아요 수를 많이 받은 책
- 최근 출시작 안내
- 가장 최근에 출시된 신작
- 책 검색 기능
- 내 서재 등록
- 읽기, 다 읽은 책 버튼을 활용한 내 서재 관리
- 좋아요 기능
- 좋아요 버튼을 눌러 “찜한 책” 등록 가능
-
- Pagination 을 이용하여 서재 구현
- 읽은 페이지 기록
- 리뷰 작성 기능
- Pagination 을 이용하여 서재 구현
-
- Three.js 를 이용한 독서 기록 시각화
- 읽은 책의 페이지 수에 따라 책 컴포넌트 두께를 다르게 설정
- Chart.js 를 이용한 독서 기록 시각화
- 완독 날짜를 기준, 일주일 단위로 독서량 체크
- Three.js 를 이용한 독서 기록 시각화
-
- 웹소켓을 사용한 실시간 통신 구현
- WebSocket + STOMP를 활용한 실시간 관리자 채팅 구현
- 웹소켓을 사용한 실시간 통신 구현
Frontend와 Backend 통신을 위한 API 문서화는 Swagger를 이용
![swagger 1](https://private-user-images.githubusercontent.com/85063965/285129657-f5e4b3d2-dfe9-4ff7-a2e2-aa116340cead.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTkxMjQ0NDIsIm5iZiI6MTcxOTEyNDE0MiwicGF0aCI6Ii84NTA2Mzk2NS8yODUxMjk2NTctZjVlNGIzZDItZGZlOS00ZmY3LWEyZTItYWExMTYzNDBjZWFkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjIzVDA2MjkwMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBjYjUxMDhlMDA2ZGJlNGM5YmE4YThmNGUyNGEyZjQzZTgxZGViMTg5M2ZkZjI4YjIzYjE4NWY0YWVhMWQ0MzcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.EpSDohh75uAr2Li_MMjh8seDUQ11WYOkC89Ci-0ChWM)
![swagger 2](https://private-user-images.githubusercontent.com/85063965/285129699-deb8e447-2ebb-4156-acff-ccc10e0ee484.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTkxMjQ0NDIsIm5iZiI6MTcxOTEyNDE0MiwicGF0aCI6Ii84NTA2Mzk2NS8yODUxMjk2OTktZGViOGU0NDctMmViYi00MTU2LWFjZmYtY2NjMTBlMGVlNDg0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjIzVDA2MjkwMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdiYWYyNWYwM2E0OTJhMzc2ZTBlNGYzMjFkNzYwZjlmZmI5Mzk0MWY5MjVlMjY5NDJkYjQ1Y2M4ODMyZWI0OGUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.8h2Q_OxSJ1iLFJMHvctrPU7lHvXWQOfiduje-inTknk)
![swagger 3](https://private-user-images.githubusercontent.com/85063965/285129724-f03d9a38-5f88-48b0-a00d-4f914c92d01c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTkxMjQ0NDIsIm5iZiI6MTcxOTEyNDE0MiwicGF0aCI6Ii84NTA2Mzk2NS8yODUxMjk3MjQtZjAzZDlhMzgtNWY4OC00OGIwLWEwMGQtNGY5MTRjOTJkMDFjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjIzVDA2MjkwMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTExZmNkNWI1NmNiOGJiOGMwMWY5YjUwZjUzM2ExN2RmZWEwOWNlNGI2NWVhZDdjMzcxNWUzMWJmOTkyNjk4MmYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Copd4hS2rYHgO-v9ih8NWxwqbxRZuKNDvDTExArNKxI)
![swagger 4](https://private-user-images.githubusercontent.com/85063965/285129733-4677c4f0-0e31-44eb-8089-dfcbda8bcba3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTkxMjQ0NDIsIm5iZiI6MTcxOTEyNDE0MiwicGF0aCI6Ii84NTA2Mzk2NS8yODUxMjk3MzMtNDY3N2M0ZjAtMGUzMS00NGViLTgwODktZGZjYmRhOGJjYmEzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjIzVDA2MjkwMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWZlMTcyYzNkMTllMTg1YzhiOGEwNTdjZjMyMDI3ZDY0MjU5Nzk0NTc0ZGY2MGI2YjZjZjcyNmRhYWMwMThiMWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.h057ps5S2-q1o1LdUtMa0I7DbtWIzSC-HwITe2-BrKw)
![erd](https://private-user-images.githubusercontent.com/85063965/285114759-4ef95cd9-6c51-4a1f-9e19-ea47226134ec.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTkxMjQ0NDIsIm5iZiI6MTcxOTEyNDE0MiwicGF0aCI6Ii84NTA2Mzk2NS8yODUxMTQ3NTktNGVmOTVjZDktNmM1MS00YTFmLTllMTktZWE0NzIyNjEzNGVjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjIzVDA2MjkwMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTI1OTU2YjA3ZGI4N2VjZmZiMzU3YWE3OTYyZjEyNzZkNzg1OTI3NDM3NTdhMGQ1ZGUwZGNlMTdhMjU1MTgxNzkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.r5WD6waJ7cUmiTYOqW5PMkXnZ3I66mkccVRqLUuoXwQ)
Name | 박희경 | 송지민 | 김선재 | 정우희 | 권찬영 | 고원준 |
---|---|---|---|---|---|---|
Profile | ||||||
Role | Backend, DevOps | Backend, DevOps | Frontend | Frontend | Backend | Frontend |
gitHub | @gmlrude | jiminsong490 | @sunjae98 | @Joy0w0 | @fnzl54 | @KoneJ |