Pension

· Pension
Vue.js을 활용해서 Frontend 작업중 간단한 Input을 별도의 View를 만들지 않고 Modal을 통해 받으려고 했다 그러다보니 Pension과 Room을 관리하는 View에서 여러 개의 Modal이 필요했다 Input 형식에 따른 Modal을 각각 별개의 컴포넌트로 만드는 것은 비효율적이라고 생각해서 BaseModal 컴포넌트를 하나 만들어서 활용하고자 했다 ... ... !!Contents!! ... BaseModal 컴포넌트에서는 Modal의 기본 틀만 만들고 을 활용해서 그때그때 상황에 맞는 Modal을 만들려고 했다 그 과정에서 2가지 고민이 있었다 1. Modal을 열고 닫는 변수 관리를 어떻게 할 것인가 Modal을 열고 닫는 변수를 Props를 통해 관리할지, 전역 상태로 관리할..
· Pension
CORS 정책 Cross-Origin Resource Sharing 다른 출처 간의 리소스 공유에 관련된 정책 여기서 출처는 URL에서 Protocol, Host, Port 부분을 말한다 https://www.example.com:443/test?param=2 같은 출처에서만 리소스를 공유할 수 있는 SOP(Same-Origin Policy)이라는 보안 정책이 있다 여기서 몇가지 예외 조항이 둬서 다른 출처 리소스 공유를 부분적으로 허용하는데 그 중 하나가 CORS 정책을 지킨 리소스 공유이다 CORS 에러 CORS 정책을 위반을 검사하는 주체는 서버가 아닌 브라우저이다 CORS 정책을 위반하는 요청에도 별도의 CORS 관련 별도의 로직이 없으면 서버는 응답한다 CORS 위반 에러를 보더라도 서버에서 응..
· Pension
Queryset 전달받은 모델의 객체 목록 모델명.objects.메소드로 설정 # Post 모델의 모든 레코드 Post.objects.all() Filter 원하는 조건의 레코드만 가져오는 Queryset Method # Post 모델에서 title 필드가 "제목"인 모든 레코드 Post.objects.filter(title="제목") like 조건, 비교 조건 등은 필드이름__조건을 변수로 지정 # Post 모델에서 tilte 필드에 "조건"을 포함하고 있는 모든 레코드 Post.objects.filter(title__contain="조건") 관계된 다른 테이블의 필드를 사용할 때도 외래키__해당 테이블 필드이름을 변수로 지정 # Post 모델에서 user 외래키로 연결된 모델의 name 필드가 "아무..
· Pension
Pension, Room, Reservation 3개의 메인 테이블 1. 최종 가격 Reservation에서 방 종류, 옵션, 예약 시기, 할인 여부 등에 의해 최종 가격이 정해진다 새로운 예약이 만들어질때 입력을 기반으로 최종 가격을 계산하는 로직이 필요 2. 삭제 방식 Pension이나 Room이 삭제되더라도 그와 관계된 Reservation는 남아있어야 하기 때문에 Soft Delete 방식 더 좋다고 판단했음 커스텀 Model를 만들어서 상속시키는 방식으로 Soft Delete 구현 deleted_at 필드의 값이 null이면 삭제 안된 상태, 특정 날짜이면 삭제 상태 관계가 맺어진 다른 레코드가 삭제될 때 처리(on_delete)는 CASCADE로 결정했지만 구현방식에 대한 고민이 필요함 2-1..
· Pension
인증 방식 기본 구현은 JWT 방식 인증 DRF SimpleJWT으로 구현 Access 토큰과 Refresh 토큰을 둘 다 사용 로그아웃 방식은 클라이언트의 쿠키 상의 Access 토큰 삭제 + Refresh 토큰 블랙리스팅 이후 인증 방식을 OAuth 2.0으로 확장할 계획 User Model 이 서비스에서 유저는 펜션 관리자 Django에 제공하는 BaseUser 모델과 매니저를 사용해서 구현 추가 필드는 Email, created_at, updated_at Email 필드는 유저 ID 역할
· Pension
시작 펜션을 운영하면서 예약과 히스토리를 관리하는 것을 도와주는 서비스가 필요하다고 느꼈다 펜션 예약의 경우 여러 플랫폼을 통해 진행되거나 직접 연락을 통해 진행된다 예약하는 플랫폼에 따라서 예약 정보를 각각 관리해줘야하며 히스토리 역시 분산되어 있기 때문에 히스토리를 확인하기 쉽지 않다 기존에는(부모님이 운영하실 때) 수기로 관리했지만 비효율적인 부분이 많고 한계도 뚜렷하다 이와 같은 경험이 펜션 예약을 통합해서 관리할 수 있는 서비스를 구상하는 계기가 되었다 기능 1. 기존에 수기로 진행되던 예약 관리를 대신할 수 있는 기능 - 펜션 예약 관련 DB 설계, 예약 CRUD 구현 2. 축적되는 히스토리 데이터를 조회하는 기능 - 여러 방식으로 조회가 가능한 API 구현 3. 여러 플랫폼을 통해 진행되는 ..
초혼
'Pension' 카테고리의 글 목록