초보 개발자

Django app 계획 방법 본문

Python/airbnb 클론

Django app 계획 방법

taehyeki 2022. 1. 19. 15:58

우리가 만든 장고 project는 여러 애플리케이션을 포함한다.

project는 app의 집합이다.

 

 

언제 어떻게 app을 만들고 어떻게 project를 계획하는지 배워보려고 한다.

먼저 에어비앤비를 들어가면 방을 고를 수 있다.

 

그 방의 정보를 수정, 추가, 리스트보여주기, 검색하기, 삭제, 업로드 이게 하나의 애플리케이션이다.

거기에 달린 리뷰들이 있다. 그 리뷰들도 room app에 넣으면 될까?? room을 리뷰하는 것이니까??

 

그럼 리뷰생성하기, 삭제하기,수정하기 리뷰 보기 리뷰 나열하기

 

거기에 또 room 예약 기능이 있을 것이다. 예약 생성하기, 삭제하기 기능도 필요하다.

호스트가 예약을 승인과 취소도 할 수도 있어야 한다.  이외에도 엄청 많다.

 

이러한 기능을 room app에 전부 담아버리면 너무 복잡해지고 커져버리기 때문에 우리는 

user

room

comment

reservation 등과 같이 여러개로 나누어 작업을 할 것이다.

 

작은 기능들을 만들고 이걸 합해서 config에 import할 것이다.

하나의 앱은 한문장으로 설명가능해야한다.

만약 그리고, 또 가 붙으면 별개의 애플리케이션으로 만들어야 한다.

 

예를들어 방에관한것 방 검색, 수정, 삭제이다. 그리고 리뷰 기능이 있다.

여기서 리뷰기능은 다른 어플리케이션으로 빼야한다는 말이다.

 

group function의 집합을 Applications
Applications의 집합을 project

Divide and Conquer 방식을 활용해보자

 

'Python > airbnb 클론' 카테고리의 다른 글

field옵션들, default, choices, blank, null  (0) 2022.01.22
first django startapp user  (0) 2022.01.20
Django first migrate  (0) 2022.01.19
createsuperuser  (0) 2022.01.19
startproject 및 vscode 초기 셋팅 linter, formatter  (0) 2022.01.19