기획을 하고, 디자인을 구상하면서 강사님이 보내주신 예시를 바탕으로 기능 정리를 해보았는데, 사실 아직 부분부분 수정할 부분은 너무 많고, 날씨기반 스타일링은 좀 더 생각을 해보아야겠지만, 생각만 한다고 될 것같지는 않아서 기능 구현 하면서 상황을 본 뒤 결정해야될 것 같다. 일단 현재 생각은 사용자에게 받은 정보를, gpt에게 넘기고 이를 기반으로 네이버 쇼핑인사이트 api에서 정보를 받아올 수 있나.. 한번 시도를 해봐야 확실히 감이 잡힐 것같음..
그럼 일단, 맞춤형 여행지 추천하는 기능도 비슷한 방식(?)일테니 해보고 다시 정리하면 될 듯...
개념적 설계는 시스템의 요구사항을 반영하여 데이터베이스에 저장될 주요 entity와 entity 간의 관계를 정의하는 과정!
ERD(Entity-Relationship Diagram) 형태로 표현할 것이며, ERD는 데이터베이스의 구조와 데이터를 시각적으로 표현하여 설계자가 데이터 모델을 쉽게 이해할 수 있게 된다.
- 객체 (entity)
- 데이터베이스에 저장할 주요 객체
- 속성 (Attribute)
- entity는 여러 개의 속성을 가지며, 속성은 entity의 특정 데이터를 저장하는 데 사용된다.
- 관계 (Relationship)
- entity들이 어떻게 연결되어있는지, 1:1, 1:N, N:M
회원 정보를 저장하는 객체이다. member 고유 id, 가입날짜, 회원정보수정날짜, 로그인아이디, 비밀번호, 권한레벨, 이름, 닉네임, 전화번호, 이메일, 탈퇴 여부, 탈퇴 날짜
회원 정보를 관리해야하고, 사용자는 여행 계획 및 일정, 맞춤형 추천 등 다양한 기능을 사용하기 위해 회원으로 등록해야한다.
사용자가 생성한 여행 일정 정보를 저장하는 객체이다. 여행일정 고유 id, memberid(member 테이블), 여행시작날짜, 종료날짜, 작성일자, 일정 수정한 일자, 여행지역id, 여행의 현재 상태(status), 삭제 여부, 삭제 날짜
로그인한 사용자가 다양한 여행 일정을 생성하고 관리할 수 있어야 하며, 각 일정에 대한 상태와 정보를 저장해야 한다.
여행 일정에 대한 세부 정보를 저장하는 객체이다. 상세항목id, 여행일정id(여행일정관리 테이블), 여행장소이름, 여행장소주소, 일정에 대한 설명, 이전 장소와의 거리, 예상 소요 시간, 예약 정보, 생성일자, 수정일자, 체크리스트 Id (체크리스트 테이블)
로그인한 사용자가 여행 일정에 대한 자세한 정보를 추가하고 관리할 수 있어야 한다.
날씨 기반 스타일링 추천 : 날씨를 기반으로 한 옷 스타일링 추천 정보를 저장하는 객체이다.
스타일링(날씨) : 날씨id, regDate, updateDate, 현재날짜, 현재온도, 체감온도, 현재날씨id, 지역id
스타일링(사용자 입력) : 사용자 입력id, 체크리스트(스타일링) 관련 데이터 타입 코드, 체크리스트(스타일링) 항목 번호, 체크 여부(boolean), gender, age, style, travelActive, 지역id
여기서 사용자한테 받은 체크리스트들은 어떻게 처리하면 좋을까.. 하나하나 입력해야하는 건가