술 알고 마시자! 술 추천 및 리뷰 서비스 주절주절
- jujeol-jujeol.com 에서 이용하실 수 있어요.
- 주절주절에 대한 더 많고 흥미진진한 이야기들
🍻 Intro
술 알고 마시자! 알고 마시면 더 맛있는 술!
당신을 위한 술을 추천해드립니다.
편의점에서 처음 보는 술을 봤을때, 어떤맛인지 궁금할 땐?
아 오늘 와인이 마시고 싶은데, 내 취향에 맞는 와인이 궁금할 땐?
바로, 주절주절
🚀 Demo
💖 맞춤 술 추천 (로그인O) | 👍 베스트 추천 (로그인X) | 🌟 일괄 평가 |
---|---|---|
🧐 상세페이지 | 👩💻 선호도 입력과 리뷰 작성 | 🧑💻 리뷰 수정 |
---|---|---|
👯 로그인 (카카오 소셜 로그인) | 💁 닉네임, 소개 수정 | 💆 리뷰와 선호도 관리 |
---|---|---|
🍓 카테고리 검색 | 🔎 키워드로 검색 | 🥂 전체보기 |
---|---|---|
👑 Recommendation Algorithm
주절주절은 직접 구현한 협업 필터링 알고리즘으로 사용자 맞춤형 서비스를 제공해요.
주절주절은 초기에 사용자 기반의 알고리즘을 구성했어요. 이는 한 사용자가 많은 선호도를 남겨야 유의미한 알고리즘이죠.
하지만 슬로프 원 알고리즘을 이용해 아이템 기반 필터링 방식으로 변경하여 선호도를 적게 남기더라도 즉시 기능을 누릴 수 있게 되었답니다!
⚡️ Skills
더 많은 기술 이야기는 조잘조잘에서 확인하세요.
Front-end
- React 로 사용자와의 상호작용이 많은 웹 페이지를 효율적으로 구현하고 관리했어요.
- Typescript 를 사용해 빌드 시에 오류를 미리 찾아, 코드 안정성을 높였어요. 또한 동료와의 커뮤니케이션이 원활해졌어요.
- React Query 를 비동기 관련 로직과 상태를 관리했어요. API 응답 데이터를 캐싱함으로써 서버 통신 비용을 줄였어요.
- Emotion 으로 자바스크립트로 스타일을 관리했어요. 반복되는 스타일 컴포넌트를 재활용하고, 상태에 따른 스타일 변경에 용이해요.
- React Testing Libray 로 테스트 코드를 작성했어요. 자신감있는 리팩토링을 통해 완성도 높은 코드를 짤 수 있어요.
Back-end
- Springboot 로 웹 어플리케이션 서버를 구축했어요.
- Spring Data JPA(Hibernate) 로 객체 지향 데이터 로직을 작성했어요.
- QueryDSL 로 컴파일 시점에 SQL 오류를 감지해요. 더 가독성 높은 코드를 작성할 수 있어요.
- Flyway 로 데이터베이스 버전 관리를 하고 있어요.
- RestDocs 로 작성한 API 문서를 통해 클라이언트와 원활하게 소통해요.
Infra Structure
- AWS EC2 와 Docker 를 사용해 서버를 구축했어요.
CI/CD
- Jenkins 로 백엔드 코드의 지속적 배포와 무중단 배포를 진행해요.
- SonarQube 백엔드 코드의 퀄리티를 분석해 더 양질의 코드를 위해 노력해요.
- Github Actions 로 코드 퀄리티와 테스트를 검사해요. 프론트엔드 코드의 지속적 배포를 진행해요.
DB
- 데이터 베이스는 MySQL을 사용해요.
- ElasticSearch 로 검색 데이터베이스를 분리했어요. Full-text 검색으로 더 정확한 결과를 얻을 수 있어요.
Network
- CloudFront 를 활용해 CDN 환경을 구성했어요.
- Nginx 를 리버스 프록시와 로드 밸런서로 활용하고 있어요.
Monitoring & Testing
- Prometheus 로 서버의 상태를 확인해요.
- Grafana 가 Prometheus 로 확인한 결과를 시각화 시켜줘요.
- nGrinder 로 웹 어플리케이션 서버 요청과 데이터베이스에 대한 부하 테스트를 진행해요.
🌈 Members
서니 | 티케 | 웨지 | 소롱 | 피카 | 크로플 | 나봄 |
---|---|---|---|---|---|---|
🍷 프론트엔드 | 🍾 프론트엔드 | 🍺 백엔드 | 🥃 백엔드 | 🍸 백엔드 | 🍹 백엔드 | 🍶 백엔드 |