칵테일 레시피 추천 및 공유 사이트

be a bartender!

be a bartender!

Untitled

📚 아키텍쳐

최종아키텍쳐.png

🔧 기술적 의사결정

사용 기술 기술 설명
TypeScript TypeScript는 정적 타입 언어 이기에 JavaScript보다 컴파일시 시간이 조금 더 오래 걸리지만 안정성을 보장해주고, 에러를 JavaScript를 사용할 때보다 수월하게 잡을 수 있어서 사용했습니다.
class-validator 기존의 Joi라이브러리 말고 Class-validator를 사용하는것이 TypeScript와 잘어울린다고 멘토님께서 추천해주셔서 시도해보았습니다.
github actions,
AWS code deploy ci/cd를 구축해서 개발환경에 집중할 수 있게끔 했고 지속적인 배포를 통해서 프론트랑 즉시 연결해봄으로써 발생하는 에러들을 빠르게 잡기 위해 사용했습니다.
mongoDB 관계형데이터베이스에서는 데이터조인인 원활하나 이번프로젝트에서는 필요없다고 판단
테이블 설계의 유연함, 대용량 데이터 저장가능, 쉽고 개발이 편리하기 때문에 사용했습니다.
CloudFront 사용자에게 제공되는 정적 컨텐츠의 전송 속도를 CDN을 통해 높이고, 커스텀 도메인 사용 및 HTTPS를 적용시키기 위해 사용했습니다.
React-query React-query는 서버의 값을 클라이언트에 가져오거나, 캐싱, 값 업데이트, 에러핸들링 등 비동기 과정을 Redux를 사용할 때보다 편리하다고 판단하여 사용했습니다.
Recoil Redux에서 비동기처리를 해야하는 경우에 Redux thunk 등에 의존하여 처리를 해왔는데, Recoil은 비동기 처리를 기반으로 작성되어 있고 useState와 유사하여 사용하기에 편리하다고 판단하여 사용했습니다.

Untitled

🔎 B-tender의 주요기능

메인 페이지 술장고에 내가 가진 술 등록하기 🍾

기존의 칵테일 레시피 추천받기 🍸

나만의 칵테일 레시피 공유🍹

나만 알고 있는 칵테일 바 공유📌

마이페이지에서 내가 좋아요 누른 컨텐츠 확인💕

B-tender에 칵테일 추천 받으러 가기👉🏻