본문으로 바로가기

카피 사이트 프로젝트 개요

category 프로젝트 이야기/개요 및 후기 2019. 6. 14. 13:39

■ 프로젝트

- Django 웹 프레임워크를 사용하여 [오늘의 집] 이라는 사이트를 카피하는 프로젝트를 진행

- 프로젝트 저장소: https://github.com/HyungtaeMoon/today_home

 

 

■ 목적

1. Django, Python 3 를 활용한 CRUD 를 구현하고 ORM 에 대한 이해

2. AWS ElasticBeanstalk 를 활용한 빌드 파일을 배포

3. SSL 인증서를 붙여 HTTPS 프로토콜 사용

4. Bootstrap 4 를 사용하여 템플릿을 직접 구성

 

 

■ 기능별 구현 코드

 

▷ members(사용자 관련)

  • 회원가입
    • USERNAME 필드에 email 필드를 오버라이딩하여 로그인할 때 email 이 USERNAME 역할을 함
  • 로그인
    • LoginForm(forms.Form) 을 사용
      • 객체를 새로 갱신하지 않기 때문에 ModelForm 을 사용하지 않고, 가벼운 forms.Form 을 사용
  • 프로필 수정
    • 기존에 저장된 객체에 대한 속성들을 불러오기 위해서는 instance=user 와 같이 객체 정보를 가져와야 갱신이 가능함

 

▷ store(판매 상품 페이지) + 장바구니

  • 상품등록
    • 상품 등록은 admin 페이지에서 등록
  • 장바구니 담기
  • 각 상품에 대한 댓글 작성 및 수정, 삭제
    • Django 의 messages 를 활용하여 해당 유저가 아닐 시 messages 를 페이지에서 보여줌
  • 상품 검색 기능
    • get 요청을 통해 q 인스턴스에 담기는 데이터값이 있을 경우에 해당 context 를 리턴 시켜줌

 

▷ 커뮤니티(게시판) - 단순 CRUD 구성

  • 게시글 작성, 수정, 삭제
  • 댓글 작성, 수정, 삭제

 

■ 배포 관련 기술 스택

 

▷ AWS

  • ElasticBeanstalk
  • EC2
  • LoadBalancer
  • IAM
  • RDS
  • S3

▷ 기타

  • Docker
    • 컨테이너를 구성하여 해당 이미지로 build 후 배포
  • fontawesome
    • 심플한 아이콘을 사용하기 위해 해당 라이브러리를 사용(CDN 사용)