Skip to content

minkimhere/BE_CloneCoding_MarketCurly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Market Curly [BE]

ezgif com-gif-maker

☑️ Summary

항해99 5기, 1조 클론코딩

클론 대상 사이트 : 마켓컬리

📸  클론 페이지 : 로그인, 회원가입, 메인, 베스트, 알뜰쇼핑, 특가/혜택, 장바구니

🛠  클론 기능 : 로그인, 회원가입, 베너 슬라이드 쇼, 상품 리스트 뷰, 장바구니 모달창, 장바구니 CRUD


📅 프로젝트 기간 및 팀원 👨🏻‍💻 👩‍💻

2022.02.18 ~ 2021.02.24

👨‍👩‍👧  Back-End : 우재현 김민정 이노규

👨‍👦 Front-End : 김기덕 지정환


⚔️ 기술 스택

Front-End

     

Back-End

기술 스택 및 개발 환경

Javascript Node.js Express.js
mongoose
       

DBMS

mongoDB

Deploy

Amazon AWS

API 명세서


📜  페이지 설명

📎  로그인 페이지

- 아이디 혹은 비밀번호 미입력시 알럿 띄어주고, 로그인 실패

- 가입된 회원의 정보와 일치하는지 확인 후, 일치할 경우 로그인 성공


📎  회원가입 페이지

- 아이디 : Email 주소의 해당하는 아이디를 입력받음

- 비밀번호 : 10글자 이상, 영문/숫자/특수문자(공백 제외) 3개 이상의 조합

- 비밀번호 확인 : 위 비밀번호와 일치하는지 확인

- 이름 : 사용자의 이름을 입력받음 , 형식은 자유(공백 제외)


📎  메인(신상품), 베스트, 알뜰쇼핑 페이지

- 상품 조회 : 영역별 상품을 조회하고, 해당 상품 장바구니 버튼 클릭 시 장바구니 모달창 보여주기

- 모달 창 : 해당 상품 개수 +,- 및 장바구니 담기 클릭 시 장바구니 페이지로 해당 제품 이동


📎  장바구니 페이지

- 로그인 한 유저가 현재까지 장바구니에 담은 상품을 조회할 수 있고, 장바구니 페이지 내에서 개수 +,- 수정 가능, 담은 제품 삭제 가능


📎  특가/혜택 페이지

- 뷰 : 배너 이미지 보여주기


⛳️  역할 담당

우재현
    * [기능] Selenium으로 마켓컬리 홈페이지의 상품들을 크롤링 하여 DB에 넣어주기, 메인페이지에서 DB의 내용 카테고리에 맞게 넘겨주기
김민정
    * [기능] 회원관리 (이메일 중복검사, 회원가입, 로그인), 장바구니 (수량 증가, 수량 감소)
이노규
  * [기능] 장바구니 조회, 장바구니 추가, 장바구니 수정, 장바구니 삭제

💡Trouble Shooting

장바구니 스키마 검색 문제
  * 해당 유저의 postId만 찾아야하는데 모든 postId를 찾고 있었음. -> 해당 유저의 postId를 찾도록 변경 -> Cart.findOne({ userEmail:loginUserEmail, postId }); 
EC2 서버 권한 설정 문제
  * 권한 설정 config에서 주석처리가 되어있었음 -> 주석을 지워서 해결.
  * 몽고디비 주소 설정 문제 -> 프로젝트 파일에서 몽고디비 주소에 id, password를 추가해서 해결. ->'mongodb://abc:abc@localhost:27017/dbname'
Cheerio와 Axios로 마켓컬리 페이지 크롤링을 실패해서, Selenium과 Chromedriver를 이용한 동적 크롤링으로 문제 해결
  * Cheerio와 Axios를 이용한 마켓컬리 크롤링을 먼저 시도 하였는데, 계속해서 null값 혹은 빈 배열을 가져왔다.
  -> 그래서 다른 크롤링 방식인 Selenium을 사용했고, 성공적으로 값을 받아오게 되었다. 또한, 동적 크롤링이 가능해 여러페이지의 정보를 자동으로 가져 올 수 있게 되었다.  
서버 디비에 크롤링한 데이터를 추가하는 문제
  * 터미널에서 시도해보려고 했으나 오류 -> 프로젝트 파일에서 시도 -> 몽고디비 주소를 변경해서 해결 -> 'mongodb://abc:abc@1.12.34.5678/dbname'

About

[프로젝트] MarketCurly : Market-Kurly 클론코딩

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •