아키텍처 리뷰 / 캠프장님 회의록 === ###### tags: `20220104`, `아키텍쳐 리뷰` --- - 일시 : 2021.01.04 10:30 ~ 11:40 - 참석자: 계동원 캠프장님, LEMONADE(김완기, 이강호, 홍석기) --- 1차 리뷰 : 고민이 많이 담기고 / 진지하게 임하는게 보였다. 우리가! - 여승환 이사님께서 말씀하셨다. ### Backend #### DB 스키마 - 데이터 타입이 빠져있다!! - size -> shoe_size로 명확하게, 단순한 이름은 지양하자. - name -> userName으로. - User에서 수정해야할거! - 개인적으로 ) is_admin, is_deleted … 굳이? 왜용? - 이메일 인증은 어디있어요? 아쉽다… 이메일 인증, 권한, 유저가 disabled가 되어있는지 상태. -> status를 하나 주고 / 0(처음), 1(이메일 인증 됬을떄), 슈퍼유저 (99) , admin이다 (9) 이렇게… 숫자로 유저 상태를 판단. - is_married… 이런 정보가 더 추가될 수 있지 않을까요? 예를 들어 결혼기념일?! 즉, 늘어날 수 있는 데이터니까, profile로 mysql로 관리하자. json형태로 프로필 하나로. +) 상태 메세지도 있을 수도 있자너! - 언제 패스워드 수정했는지, updated_at or accessed_at (logined_at) … 이런 시간 개념이 있었어야 한다! - region 까지 있었어야 한다. _ language code / 도 있는거가 좋고… (milestone3) / UTC 시간?? - index가 아니라, idx. uid가 없으니까 id로 가져가도 되겠다. - Product 리뷰 - 상관관계가 너무 복잡하다. JSON으로 바꾸면 괜찮지 않을까? -> 길어져도 괜찮아요? 네 괜찮아요! / 데이터를 하나로 관리하는게 좋아요. product, product img 를 분리하진 말아라. - meta … 도 분리 안해도 되지 않을까요? product안에 넣자! - tanslated_name이 아니라 json으로 ? -> 일반 json으로 넣는것이 좋을것이다! // 잘 모르겠다 이 내용은. - color는? -> deep learning을 위해서 … 상품의 색상. - style_code … 스트릿은 (1) / 럭셔리 (2) / 캐주얼 (3) / - 태그가 있으면 좋지 않을까? - 20대에게 인기가 많은! - buying, selling 리뷰 - 너무 같다! status를 통해 나눌 필요가 없어질 수 있지 않니? - 음.. 나누는게 나을 것 같긴해욥. / 실제로는 똑같지 않을것 같긴해요. - 판매데이터, 구매데이터를 같이 있으면 속도측면에서 느리지 않을가요? -> 그거는 괜찮아요!! 거래 양이 많지 않을테니까.. 아마 속도는 괜찮을거에요. - buying, selling이 다를 수 있는게, 추가될 수 있는 필드들이 있을 수 있을것 같다! 그런걸 고려해서 따로 만들어라. - created_at, updated_at가 붙어있어라. - product_id 가 맨위로 올려라! 그 스키마 필드 안에서. - date가 아니라 다른 단어를 쓰는것이 좋을 것 같다! - join을 줄여주는게 좋다. // ? // 게시판 댓글에 보면 … id만 나오잖아 -> 이름을 display name으로? 넣어놔라. // 사실 어떤 문제에서도 퍼포먼스적인 문제는 없을것이다. - wish, option도 id가 있었으면 좋겠다. - 모든 데이터 테이블은 id가 필요하다고 생각해라. 언제든지 쓰일 수 있다. #### Architecture - 몽고디비 / mysql라고 쓰지말고 / user db 뭐 어쩌구 디비 이렇게 써라. - firebase가 뭐할 거냐. 아 푸쉬니? -> 한눈에 보여야한다… - 화살표 선도 수정! - 레디스가 뭘 할거냐 ! -> token을 관리할건지 적어놔라. - 글씨 크기, 및 폰트 bold를 좀 바꾸는게 좋을 것 같다. (product server 쪽 맨밑) - 거래정보? -> 기간별 시세가 정보량이 좀 많다… stateCode가 필요할 것 같다. - status 정도는 CONSTANT로 관리해라! 따로 빼지 말구. - 서버간의 통신은 사실 쉽다. // 서버간의 데이터가 동기화가 중요하다. -> 같은 계열 내에서의 동기화가 중요하다. - 카푸카? 뭐야 그건 또 그게 도움이 될지는 … 공부해야한다. ### Frontend - atomic design pattern 이 뭔지, 한줄 요약이 있거나, 따로 페이지 넣어서. - contextAPI를 통해서 뭘 관리할건지. - SWR, NEXTjs, Storybook 에 대한 부가 설명이 필요하다. - SWR이 어떤 거고, 장점이 뭔지. - Nextjs를 통해서 얻을 수 있는 장점? - Storybook 링크 타는거 x -> 동영상으로 발표 자료 내부에 첨부. - 화살표 색상 바꾸기. - 백엔드 부분 채워넣어라. (강호님께 이미지? 받기) ### IOS - MVVM 패턴이 어떻게 적용됐는지 그림 외에도 위치를 넣으면 좋을듯. - 역할에 따른 Layer을 구분해주자 - Gateway API 위치 수정 - 가급적 같은 역할을 하는(ex. 프로토콜)의 경우, 화살표 형태 통일 - Repository Pattern을 적용할 경우, 도입 이유을 명시하기