풀스택 미니프로젝트

주제

호텔 리뷰 사이트 구축

  • 필수기능
    • pyJWT [HS256] 사용한 회원가입 및 로그인 기능

미니프로젝트 진행

  1. 와이어프레임 제작
    Client 와이어 프레임
  • index, login, register, post, review post
    • 머리로 생각했을때는 몰랐는데 시각적구현을 통해 기능구성을 하다보니 내가 무엇을 개발하려고 하는지가 눈에 보이기 시작함

Server 와이어프레임

  • DB : mongodb
  • Framwork : Flask
  • Editor : VScode
    • 시작을 Pycharm으로 계속해서 개발공부를 하다 Framwork인 JWT관련 Error이 계속해서 발생하여 vscode로 개발을 시작하였다.
      처음 할때는 Terminal 사용이 익숙치 않아 고생했지만 점점 손에 익으니 오히려 Pycharm보다 처리속도나 확장성은 더 좋은것으로 판단된다.
    • Error 관련 하여 추후 다루기로 하자

DB구성은 추후 기능인 리뷰삭제 기능 및 관리 기능에 관련하여 Data 구성을 고민하게 된다.

문제점.
mongodb는 _id 구성 아래에 값이 사라지면 _id 전체가 사라지는 문제가 있다. 초반에 확실히 설계를 하지 않으면 추후에 데이터 내부에 리뷰 데이터가 쌓이고 쌓인 데이터 중 삭제기능 구현시 데이터가 일부 같이 삭제 될 수 있는 여지가 있기때문이다.

user data는 별도로 분리하여 운영

솔루션 1.

  • 각 호텔별 폴더를 생성하여 0번 데이터에는 호텔데이터 (hotelName, image, address, info)를 넣어 포스팅시에 표현 될 수 따로 분리하여 관리하고 하고,
    1번 테이터 부터는 (star, comment, userName,image)를 넣어 userName 값을 가지고 삭제 수정등을 진행하여 데이터 보호 및 관리

문제점

  • 호텔의 총 수가 많아지기 시작하면 폴더가 기하급수적으로 생성되어 DB관리에 문제가 생길 수 있음

솔루션 2.

  • 호텔 폴더는 1개를 유지하고 데이터 값을 고정적으로 추가한다.
    0번 데이터는 포스팅에 관리하고, 1번 테이터 부터는 고정적으로
    [ hotelName, hotelInfo ] + [ userName : object ] 를 통해 내부에서 데이터를 쌓아 서버 첫단에 1개의 폴더만을 가지고 유지 관리

문제점

  • front에서 리뷰 작성시 입력되어야 하는 데이터값이 많아져 자칫 page가 지저분 해지거나 버그가 발생 할 수 있는 확률이 상승한다.

추후 팀원들과 상의하고 기술스텝들에게 문의하여 진행 하도록 할 예정