Django가 처음이다 보니, 구글링도 하고 GPT도 사용하여 처음으로 프로젝트를 생성해봤다. 보일러 플레이트 원칙을 적용한 Django라고 하지만, 생각보다 해줄 일이 너무 많아서 해매고 당황스러웠다.
MVC패턴을 가진 다른 프레임워크와 다르게 MVT패턴을 통해서 프로젝트를 구성해봤다. 간단하게 말해서 View는 MVC의 View가 아니라 Controller의 위치를 맡고 있다고 한다.
또한 스프링에서 자주 쓰이는 DTO개념은 serializer라는 개념을 통해 쓰고 있었다.
다음은 내가 구성한 프로젝트 Tree이다.
├── __init__.py
├── asgi.py
├── jobpostings
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── dao
│ │ ├── __init__.py
│ │ ├── applicant_repository.py
│ │ ├── company_repository.py
│ │ └── job_posting_repository.py
│ ├── management
│ │ └── commands
│ │ ├── __init__.py
│ │ └── add_companies.py
│ ├── migrations
│ │ ├── 0001_initial.py
│ │ └── __init__.py
│ ├── models
│ │ ├── __init__.py
│ │ ├── applicant.py
│ │ ├── company.py
│ │ └── job_posting.py
│ ├── serializers
│ │ ├── __init__.py
│ │ └── job_posting.py
│ ├── services
│ │ ├── __init__.py
│ │ ├── applicant_service.py
│ │ ├── company_service.py
│ │ └── job_posting_service.py
│ ├── tests
│ ├── tests.py
│ ├── urls.py
│ └── views
│ ├── __init__.py
│ └── job_posting.py
├── settings.py
├── urls.py
└── wsgi.py