Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yoohyunji/dalkak
빅데이터 기반 사용자 맞춤 칵테일 추천 웹 사이트
https://github.com/yoohyunji/dalkak
elk fastapi jwt kafka nextjs nextjs14 oauth pandas scss three-js zustand
Last synced: 2 days ago
JSON representation
빅데이터 기반 사용자 맞춤 칵테일 추천 웹 사이트
- Host: GitHub
- URL: https://github.com/yoohyunji/dalkak
- Owner: YooHyunJi
- Created: 2024-05-29T06:15:07.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-05-22T13:48:20.000Z (8 months ago)
- Last Synced: 2024-11-23T12:34:25.582Z (2 months ago)
- Topics: elk, fastapi, jwt, kafka, nextjs, nextjs14, oauth, pandas, scss, three-js, zustand
- Homepage:
- Size: 95.4 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🤵달칵 : Dalkak🍹
### 🍸홈텐딩 :
홈과 바텐딩의 합성어로 코로나 시대 이후 수요가 점차 늘어나며 하나의 문화로 자리매김했습니다.#### :heavy_check_mark: 항상 같은 칵테일을 마시는 게 지겨우신가요?
#### :heavy_check_mark: 다른 사람들은 어떤 칵테일을 좋아하는지, 최근 어떤 칵테일이 가장 핫한지 궁금하신가요?
#### :heavy_check_mark: 집에서 간단히 칵테일을 만들고 싶은데, 가지고 있는 재료로 어떤 칵테일을 만들 수 있는지 알고 싶으신가요?
#### :heavy_check_mark: 자신이 어떤 성향이며 자신에게 딱 맞는 칵테일이 무엇인지 추천받고 싶으신가요?
### ✨그런 여러분들을 위한 [달칵](https://dalkak.store) 서비스를 준비했습니다!✨
# :mag: Stacks
### Recommend
![Python](https://img.shields.io/badge/python-3776AB?style=for-the-badge&logo=python&logoColor=white)
![fastapi](https://img.shields.io/badge/fastapi-black?style=for-the-badge&logo=fastapi&logoColor=#009485)
![scikitlearn](https://img.shields.io/badge/scikitlearn-F7931E?style=for-the-badge&logo=scikitlearn&logoColor=white)
![elasticsearch](https://img.shields.io/badge/elasticsearch-FEC514?style=for-the-badge&logo=elasticsearch&logoColor=white)
![logstash](https://img.shields.io/badge/logstash-black?style=for-the-badge&logo=logstash&logoColor=white)
![kibana](https://img.shields.io/badge/kibana-00BFB3?style=for-the-badge&logo=kibana&logoColor=white)
![jupyter](https://img.shields.io/badge/jupyter-F37626?style=for-the-badge&logo=jupyter&logoColor=white)
![googlecolab](https://img.shields.io/badge/googlecolab-F9AB00?style=for-the-badge&logo=googlecolab&logoColor=white)### Backend
![Java](https://img.shields.io/badge/java-%23ED8B00.svg?style=for-the-badge&logo=openjdk&logoColor=white)
![Spring Boot](https://img.shields.io/badge/SpringBoot-236DB33F?style=for-the-badge&logo=springboot&logoColor=white)
![Hibernate](https://img.shields.io/badge/Hibernate-59666C?style=for-the-badge&logo=Hibernate&logoColor=white)
![JWT](https://img.shields.io/badge/JWT-brown?style=for-the-badge&logo=JSON%20web%20tokens)
![Querydsl](https://img.shields.io/badge/Querydsl-purple?style=for-the-badge)
![MySQL](https://img.shields.io/badge/mysql-%2300f?style=for-the-badge&logo=mysql&logoColor=white)
![Redis](https://img.shields.io/badge/redis-%23DD0031.svg?style=for-the-badge&logo=redis&logoColor=white)
![apachekafka](https://img.shields.io/badge/apachekafka-231F20?style=for-the-badge&logo=apachekafka&logoColor=white)### Frontend
![HTML5](https://img.shields.io/badge/html5-%23E34F26.svg?style=for-the-badge&logo=html5&logoColor=white)
![CSS3](https://img.shields.io/badge/css3-%231572B6.svg?style=for-the-badge&logo=css3&logoColor=white)
![Typescript](https://img.shields.io/badge/typescript-%23323330.svg?style=for-the-badge&logo=typescript&logoColor=%23F7DF1E)
![nextdotjs](https://img.shields.io/badge/next.js-%2320232a.svg?style=for-the-badge&logo=nextdotjs&logoColor=%2361DAFB)
![React](https://img.shields.io/badge/react-%2320232a.svg?style=for-the-badge&logo=react&logoColor=%2361DAFB)
![React Dom](https://img.shields.io/badge/React%20Dom-%2320232a.svg?style=for-the-badge&logo=react&logoColor=%2361DAFB)
![Zustand](https://img.shields.io/badge/Zustand-purple?style=for-the-badge)
![sass](https://img.shields.io/badge/sass-DB7093?style=for-the-badge&logo=sass&logoColor=white)### Infra
![EC2](https://img.shields.io/badge/EC2-E95420?style=for-the-badge&logo=amazonec2&logoColor=white)
![NCP](https://img.shields.io/badge/NCP-%23009639?style=for-the-badge&logo=Naver&logoColor=white)
![Nginx](https://img.shields.io/badge/nginx-%23009639.svg?style=for-the-badge&logo=nginx&logoColor=white)
![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge&logo=docker&logoColor=white)
![Ubuntu](https://img.shields.io/badge/Ubuntu-E95420?style=for-the-badge&logo=ubuntu&logoColor=white)### IDE
![Visual Studio Code](https://img.shields.io/badge/Visual%20Studio%20Code-0078d7.svg?style=for-the-badge&logo=visual-studio-code&logoColor=white)
![IntelliJ IDEA](https://img.shields.io/badge/IntelliJIDEA-000000.svg?style=for-the-badge&logo=intellij-idea&logoColor=white)### Management Tool
![Jira](https://img.shields.io/badge/jira-%230A0FFF.svg?style=for-the-badge&logo=jira&logoColor=white)
![Mattermost](https://img.shields.io/badge/Mattermost-000000?style=for-the-badge&logo=Mattermost&logoColor=white)
![Discord](https://img.shields.io/badge/Discord-%235865F2.svg?style=for-the-badge&logo=discord&logoColor=white)
![Notion](https://img.shields.io/badge/Notion-%23000000.svg?style=for-the-badge&logo=notion&logoColor=white)
![GitLab](https://img.shields.io/badge/gitlab-E95420.svg?style=for-the-badge&logo=gitlab&logoColor=white)
![Figma](https://img.shields.io/badge/figma-F24E1E?style=for-the-badge&logo=figma&logoColor=white)# 주요 기능
## 칵테일
| | |
| :----------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------: |
| **칵테일 상세 검색** | **칵테일 상세 페이지** || | |
| :---------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------: |
| **기저 칵테일의 커스텀 칵테일 목록** | **커스텀 칵테일 생성** |- 칵테일 이름, 재료, 베이스, 도수, 색상, 당도 를 선택하여 상세 검색을 할 수 있습니다.
- 칵테일 상세보기에서 좋아요와 좋아요 취소를 할 수 있습니다.
- 칵테일 상세보기에서 해당 칵테일을 기반으로 만든 커스텀 칵테일 4개를 볼 수 있습니다.
- 커스텀 레시피 만들기를 통해 기존 칵테일 재료를 수정/삭제하면서 나만의 칵테일을 만들 수 있습니다.## 냉장고
| | |
| :-----------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------: |
| **냉장고 생성** | **냉장고 삭제** || | |
| :-------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------: |
| **메모장 생성** | **메모장 삭제** |- 재료 검색을 통해 재료를 추가하고, 클릭하여 삭제할 수 있습니다.
- 추가된 재료를 드래그하거나 재료 검색을 통해 메모장과 냉장고를 옮겨가며 추가할 수 있습니다.
- 메모장에 추가된 재료의 X 버튼을 클릭하면 재료가 사라집니다.## 마이페이지
| | |
| :---------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------: |
| **개인정보 확인 및 저장된 칵테일 목록** | **자신이 생성한 커스텀 칵테일 수정** || |
| :--------------------------------------------------------------------------------------: |
| **자신이 생성한 커스텀 칵테일 삭제** |- 내정보(이름, 생년월일, 성별)와 나의 활동내용 (좋아요/나의 커스텀 칵테일)리스트를 확인할 수 있습니다.
- 나의 커스텀 칵테일을 삭제하거나 상세화면에서 수정하기 버튼을 통해 내용을 수정할 수 있습니다.## 추천
| | |
| :--------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------: |
| **새로운 가입자 메인 화면** | **기존 사용자 메인 화면** || |
| :-----------------------------------------------------------------------------------------: |
| **냉장고 재료 기반 추천** |- 새로 가입한 사용자는 설문한 내용을 기반으로 추천을 받습니다.
- 기존의 사용자는 선호도(좋아요)를 기반으로 추천을 받습니다.
- 냉장고의 재료와 선호도(설문 조사)를 기반으로 추천을 받습니다.## 설문
| |
| :----------------------------------------------------------------------: |
| **설문조사** |- 구글, 카카오, 네이버 소셜로그인을 통해 가입할 수 있습니다.
- 가입이 완료되면 사용자 정보와 설문을 받아 저장합니다.# 설계 내용
## ERD
## 아키텍쳐
## API 명세
## 데이터
- IBA 칵테일 데이터 출처 : [2020년 IBA 공식 칵테일](https://namu.wiki/w/%ED%8B%80:IBA%20%EC%B9%B5%ED%85%8C%EC%9D%BC)
- IBA 칵테일 이미지 출처 : [International Bartenders Association - IBA](https://iba-world.com/)
- 기본 재료 이미지 및 아이콘 출처 : [FLATICON](https://www.flaticon.com/kr/)# 팀원 소개
| **Profile** | | | | | | |
| :----------: | :--------------------: | :--------------------: | :------: | :-------------------: | :-----: | :-----: |
| **Name** | 김형진 | 유현지 | 백천주 | 최지희 | 이승연 | 곽희웅 |
| **Position** | Team Leader & Frontend | Part Leader & Frontend | Frontend | Part Leader & Backend | Backend | Backend & Infra |## 업무 분장
### Frontend
- 유현지: FE 리더, protype 제작, 칵테일 검색 페이지, 냉장고 페이지, 냉장고 추천 페이지, 프론트엔드 배포, 좋아요 기능
- 김형진 : Oauth 로그인, 설문조사 페이지, 마이페이지
- 백천주 : 칵테일 상세, 커스텀 칵테일 리스트, 커스텀 칵테일 상세, 커스텀 칵테일 등록/수정,### Backend
- 최지희 : 설문 및 선호도 기반, 재료 유사도 기반 추천 알고리즘 설계 및 서버(FastAPI) 구현, 사용자 관련 기능 구현
- 이승연 : 칵테일 검색을 포함한 전체 기능 구현, 냉장고 및 메모장 기능 구현, UCC 및 PPT
- 곽희웅 : 커스텀 칵테일 기능 구현, ELK를 사용한 로그 분석으로 실시간 칵테일 랭킹 구현, Redis를 활용한 좋아요 기능 구현, 데이터 정제, 인프라(CI/CD)