Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/woowacourse-teams/2021-jujeol-jujeol
술 알고 마시자! 알고 마시면 더 맛있는 술! 당신을 위한 술을 추천해드립니다.
https://github.com/woowacourse-teams/2021-jujeol-jujeol
alcohol drinks java jpa react react-query recommendation spring-boot typescript
Last synced: about 3 hours ago
JSON representation
술 알고 마시자! 알고 마시면 더 맛있는 술! 당신을 위한 술을 추천해드립니다.
- Host: GitHub
- URL: https://github.com/woowacourse-teams/2021-jujeol-jujeol
- Owner: woowacourse-teams
- Created: 2021-07-02T07:48:43.000Z (over 3 years ago)
- Default Branch: develop
- Last Pushed: 2022-09-15T13:47:45.000Z (about 2 years ago)
- Last Synced: 2023-11-07T20:05:02.703Z (about 1 year ago)
- Topics: alcohol, drinks, java, jpa, react, react-query, recommendation, spring-boot, typescript
- Language: Java
- Homepage: https://jujeol-jujeol.com/
- Size: 49.1 MB
- Stars: 122
- Watchers: 5
- Forks: 22
- Open Issues: 48
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 술 알고 마시자! 술 추천 및 리뷰 서비스 주절주절
- [jujeol-jujeol.com](https://jujeol-jujeol.com) 에서 이용하실 수 있어요.
- [주절주절에 대한 더 많고 흥미진진한 이야기들](https://github.com/woowacourse-teams/2021-jujeol-jujeol/wiki)---
## 🍻 Intro
**술 알고 마시자! 알고 마시면 더 맛있는 술!** 당신을 위한 술을 추천해드립니다.
편의점에서 처음 보는 술을 봤을때, 어떤맛인지 궁금할 땐? *아 오늘 와인이 마시고 싶은데*, 내 취향에 맞는 와인이 궁금할 땐?
바로, **주절주절**
## 🚀 Demo
| 💖 맞춤 술 추천 (로그인O) | 👍 베스트 추천 (로그인X) | 🌟 일괄 평가 |
| :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: |
| | | || 🧐 상세페이지 | 👩💻 선호도 입력과 리뷰 작성 | 🧑💻 리뷰 수정 |
| :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: |
| | | || 👯 로그인 (카카오 소셜 로그인) | 💁 닉네임, 소개 수정 | 💆 리뷰와 선호도 관리 |
| :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: |
| | | || 🍓 카테고리 검색 | 🔎 키워드로 검색 | 🥂 전체보기 |
| :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: |
| | | |## 👑 Recommendation Algorithm
주절주절은 [직접 구현한 **협업 필터링 알고리즘**](https://jujeol-jujeol.github.io/2021/10/24/%EC%95%84%EC%9D%B4%ED%85%9C_%EA%B8%B0%EB%B0%98_%EC%B6%94%EC%B2%9C_Slope_One/)으로 사용자 맞춤형 서비스를 제공해요.
주절주절은 초기에 **사용자 기반**의 알고리즘을 구성했어요. 이는 한 사용자가 많은 선호도를 남겨야 유의미한 알고리즘이죠.
하지만 **슬로프 원 알고리즘**을 이용해 **아이템 기반** 필터링 방식으로 변경하여 선호도를 적게 남기더라도 즉시 기능을 누릴 수 있게 되었답니다!## ⚡️ Skills
더 많은 기술 이야기는 [조잘조잘](https://jujeol-jujeol.github.io/)에서 확인하세요.
### 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
| [서니](https://github.com/sunhpark42) | [티케](https://github.com/devhyun637) | [웨지](https://github.com/sihyung92) | [소롱](https://github.com/soulgchoi) | [피카](https://github.com/pika96) | [크로플](https://github.com/perenok) | [나봄](https://github.com/qhals321) |
| :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: |
| | | | | | | |
| 🍷 프론트엔드 | 🍾 프론트엔드 | 🍺 백엔드 | 🥃 백엔드 | 🍸 백엔드 | 🍹 백엔드 | 🍶 백엔드 |