[이케아 프로젝트] 시작(7/6 월요일)

hyuckhoon.ko·2020년 7월 6일
0

What I learned in wecode

목록 보기
79/109

이케아 홈페이지 특징

1) 회원가입 시 요구사항

위 그림과 같이
비밀번호에는 대문자가 포함되어야 하는 등의 조건이 있다.

또한, 1차 프로젝트에서 한 단계 업그레이드하여

카카오톡 인증이메일 인증을 추가할 예정이다.



2) 생성할 앱 종류

앱 3개

  • account
  • product
  • order

마찬가지로, 1차 프로젝트에서 한 단계 업그레이드하여
order(주문)에 장바구니를 구현하되, 실제 결제까지 되는 기능을 추가할 예정이다.



3) git에 패키지 업로드 하기

팀원 중 한 사람이 기본 셋팅을 끝내고 업로드하기로 했다.
내가 그 일을 하기로 했다.
사실 내심 하고싶었다.

1차 프로젝트인 샤넬 홈페이지 클론 프로젝트를 할 때,
못해본 것 중 하나였기 때문이다.
최대한 안해본 것들을 도전해보고 싶다.

gitignore, requirements.txt, git init, settings.py 등
기본적인 셋팅을 완료했다.
그리고 아래 그림처럼 git push를 완료한 모습이다.

실수를 통해 배운점은 다음과 같다.

  • ikea 최상위 디렉토리에서 git init한 후,
    그 디렉토리 안의 또 동일 이름의 ikea 디렉토리가 있는데
    거기에서도 git init을 해버린점.

정말정말 좋은 경험이었다ㅎㅎㅎㅎ

최상위 디렉토리(이름 : ikea)에서 git init을 이미 했는데,
그 디렉토리 안에 있는 동일 이름의 ikea 디렉토리에서도 git init을 해버린 것이다.

그래서, remote repository를 보니
ikea 폴더가 비어있는 모습으로 나왔다.
ikea디렉토리에서 git init을 해야한다는 생각에만 집중해서
발생한 일이었다.
실수는 두 번 반복하지 않으면 된다.
앞으로는 그런 일이 없을 것이다.





4) requirements.txt 활용법

팀원 중 한 명이 내가 git push한 패키지를 git clone 하였다.

내가 기본셋팅, 환경설정 그리고 pip install을 진행한 모듈들을
각각 다운받으려고 하고 있었다.
하지만 매우 좋은 방법이 있다.

내가 기본 셋팅을 할 때, 마지막에 pip freeze > requirements.txt를 해뒀다.
이 상황에서는 이 텍스트 파일을 활용하면 된다.

$ pip install -r requirements.txt

위 명령어를 입력하면 requirements.txt에 있는 모듈들을 한 번에 모두
다운받게 해준다.
정말정말 간편하다.

이 방식을 맨 처음 생각해 낸 사람을 존경한다.



5) 로컬 DB구축 위한 크롤링

(진행중)

현재 데이터베이스 구축을 위해 크롤링 작업을 하고 있다.

위 그림과 같이 거실 테마에서

이미지들을 크롤링 하고 있다.
또한, 각 이미지마다 빨간색으로 표시한 제품들 정보 역시 크롤링해야 한다.

단순히, 사진만 프론트엔드에 보내는 엔드포인트를 만들면,
프로트엔드에서 매번 각 제품의 위치 정보를 수작업으로 진행해야 한다.
매우 비효율적이다.
따라서, 좌표값(x, y)도 함께 보내야 한다.

다행히, 그 정보는 개발자도구에 나와 있었다. 다행이다.


또한, 예상치 못했던 복병은
페이지가 새로고침을 할 때마다 이미지 배열이 달라진다는 것이었다.

이 문제 또한 오랜 고민끝에 해결했다.


아래 그림은 db_uploader.py 중 하나인 home_furnishing.csv파일을 완성한 모습이다. 최대한 업로드가 쉽도록 csv구조를 생각했다.

예를 들어 아래 그림과 같이
첫 번째 배경화면에는 총 6가지의 제품 이름과 그에 해당하는 위치 정보가 있다.

이번 프로젝트에서도 샤넬 프로젝트에서 했듯이
db_uploader.py 작업에 깊이 관여해보고 싶다.

특히, decorator를 활용해서 db_uploader.py를 구현해보려 한다.

0개의 댓글