위 그림과 같이
비밀번호에는 대문자가 포함되어야 하는 등의 조건이 있다.
또한, 1차 프로젝트에서 한 단계 업그레이드하여
카카오톡 인증
과 이메일 인증
을 추가할 예정이다.
앱 3개
- account
- product
- order
마찬가지로, 1차 프로젝트에서 한 단계 업그레이드하여
order(주문)에 장바구니를 구현하되, 실제 결제까지 되는 기능을 추가할 예정이다.
팀원 중 한 사람이 기본 셋팅을 끝내고 업로드하기로 했다.
내가 그 일을 하기로 했다.
사실 내심 하고싶었다.
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을 해야한다는 생각에만 집중해서
발생한 일이었다.
실수는 두 번 반복하지 않으면 된다.
앞으로는 그런 일이 없을 것이다.
팀원 중 한 명이 내가 git push한 패키지를 git clone 하였다.
내가 기본셋팅, 환경설정 그리고 pip install을 진행한 모듈들을
각각 다운받으려고 하고 있었다.
하지만 매우 좋은 방법이 있다.
내가 기본 셋팅을 할 때, 마지막에 pip freeze > requirements.txt를 해뒀다.
이 상황에서는 이 텍스트 파일을 활용하면 된다.
$ pip install -r requirements.txt
위 명령어를 입력하면 requirements.txt에 있는 모듈들을 한 번에 모두
다운받게 해준다.
정말정말 간편하다.
이 방식을 맨 처음 생각해 낸 사람을 존경한다.
현재 데이터베이스 구축을 위해 크롤링 작업을 하고 있다.
위 그림과 같이 거실
테마에서
이미지들을 크롤링 하고 있다.
또한, 각 이미지마다 빨간색으로 표시한 제품들 정보 역시 크롤링해야 한다.
단순히, 사진만 프론트엔드에 보내는 엔드포인트를 만들면,
프로트엔드에서 매번 각 제품의 위치 정보를 수작업으로 진행해야 한다.
매우 비효율적이다.
따라서, 좌표값(x, y)도 함께 보내야 한다.
다행히, 그 정보는 개발자도구
에 나와 있었다. 다행이다.
또한, 예상치 못했던 복병은
페이지가 새로고침을 할 때마다 이미지 배열이 달라진다는 것이었다.
이 문제 또한 오랜 고민끝에 해결했다.
아래 그림은 db_uploader.py 중 하나인 home_furnishing.csv파일을 완성한 모습이다. 최대한 업로드가 쉽도록 csv구조를 생각했다.
예를 들어 아래 그림과 같이
첫 번째 배경화면에는 총 6가지의 제품 이름과 그에 해당하는 위치 정보가 있다.
이번 프로젝트에서도 샤넬 프로젝트에서 했듯이
db_uploader.py 작업에 깊이 관여해보고 싶다.
특히, decorator를 활용해서 db_uploader.py를 구현해보려 한다.