[ PROJECT ] 당근마켓 클론코딩 - #01 초기 세팅하기!

Hailee·2020년 12월 30일
2

[ PROJECT ]

목록 보기
11/16
post-thumbnail

자, 너무나 사랑했던 [ 동묘프렌즈샵 ] 프로젝트를 보내고, 바로 시작하는 [ 키위마켓 ] !!

내가 꼭 하고싶다 발표했었던 주제인데, 아무래도 웹보다 앱으로 구현해야 한다는 점이 큰 걸림돌이었는지
1차 프로젝트 목록에서는 부적격 판정을 받았었다.

BUT!! 우리 15기의 천재 프론트엔드 팀원들 덕택에 React Native를 사용한 앱 개발을 할 수 있게 되었고,
덕택에 나도 당근마켓 프로젝트를 시작할 수 있었다.

아무래도 전 회사에서 가장 나를 괴롭혔던 교통안전공단 프로젝트와 비슷한 개념이 크다고 생각했기 때문에 더 보란듯이 잘 해내고 싶다.

법정동 행정동 박살내줄거야 ><

아무튼 그래서 초기 세팅은 무엇?


1. git repository 클론!

우선 project repository를 클론해온다.
branch명이 master일텐데, 우리는 요즘새럼이니까 main으로 바꿔주기!

사실 왜인지는 잘 모르겠지만, 아무런 commit도 하지 않고 branch명을 바꿔주려고 하면 꼭 에러가 났다.
(아마 아무런 작업을 하지 않아서 바꿀 대상 branch를 못잡는 것인가.. 싶지만.. 하.. )
우선 README.md파일(사실 아무파일이나 생성해도 되는 듯)을 생성해주고 첫번째 commit을 한 뒤

branch명을 main으로 바꿔준다.

잘 바꾸어줬으면, 이제 본격적으로 작업 시작!


2. conda 가상환경 설치

conda create -n "ooo" python=3.8
conda activate ooo

👆🏻 conda 가상환경을 설치하고 필요한 모듈을 설치해준다.

pip install mysqlclient
pip install django
pip install django-cors-headers
-
pip install django-model-utils
pip install bcrypt
pip install jwt
pip install regex
pip install djangorestframework
pip install markdown       
pip install django-filter
pip install django-phone-verify==0.1.1
-
pip freeze > requirements.txt

내가 설치해둔 가상환경을 팀원들도 쓸 수 있도록 해주려면 pip freeze를 통해서 requirements.txt파일 내에 넣어두면 된당!!


3. dJango project 생성

django-admin startproject ooo
django-admin startproject ooo .

👆🏻 장고 프로젝트 생성하기!
첫번째 실행은 현재 디렉토리 하위에 프로젝트명으로 프로젝트 디렉토리를 또 생성한 뒤 프로젝트를 생성하고,
두번재 실행은 현재 디렉토리에 바로 프로젝트를 생성한다.

작업할 디렉토리를 잘 생성해두었다면, 두번째 방법으로 하는 것이 같은 디렉토리명을 반복하지 않고 좋은 듯!


4. Database 생성

1차 프로젝트에서 하도 데이터베이스 덕에 고생했던 턱에, 애초에 멘토님께 질문드렸던 것이 있다.

"왜 우리는 데이터베이스 서버를 공유해서 원격으로 작업하지 않는가?"

어쩌다 이렇게 생각하게 되었는고 하니,

  1. 각자 로컬 데이터베이스를 두고 작업하면 매번 migrate를 해야 DB의 상태를 최신으로 유지할 수 있음
  2. 서로 다른 데이터를 두고 작업하기 때문에, 다른 사람의 기능에 대해 테스트해보아야 할 때 데이터를 생성해야만 같은 조건에서 테스트할 수 있음.
  3. 매번 git pull 받아올 때 마다 git conflict가 나는 지긋지긋한 migration 파일들 삭제 및 DB 재생성..

(하..)

무튼, 1차 프로젝트에서는 각자의 로컬DB에서 작업하며 진행했다.
정말 심한 날은.. git conflict가 수습이 되지 않아서 db를 한시간 내에 몇번을 날렸는지.. 허허허헣
(csv 파일에 최근 데이터를 백업하지 않은 채여서 게시물-댓글-좋아요 작업을 하던 나는 정말 .. 하하 🤩 )

이러한 경험(삽질) 끝에 내가 내린 결론은 이것이었다.
2차는 무조건 원격 DB 서버로 간다.

그래서 AWS EC2, RDS를 통해 원격 서버에 데이터베이스를 생성하고 작업을 시작했다.

생성하는 방법은 알아서 구글링하기><

create database westarbucks character set utf8mb4 collate utf8mb4_general_ci;

👆🏻 이 정도는 알려준다 ㅎ


5. settings.py, my_settings.py 설정

앞서 했던 프로젝트들 참고하기~~~><


이제 모델링 열심히 하고, 로직 짤 일만 남았네~~~ 🤩

profile
웹 개발 🐷😎👊🏻🔥

0개의 댓글