변경되고 확장할 것을 알기에 처음부터 생각하면 좋은

앱(web/mobile) 설계

  1. Design system - 처음부터 모든것을 정하기보다 기본적인 것 부터 (컬러, 폰트, 아이콘 등등)
  2. 모듈 공유 전략
    1. 공통 모듈 패키지화
  3. 단순하게 만들기
  4. 온/오프라인 상태 확인 flow
  5. 앱 버전 관리 전략
  6. App life cycle 설계
  7. 알람 시스템 전략
  8. Deep link 전략
  9. 문서화

서버 설계

  1. 서버 스케일링 방법
  2. API 버전 관리 전략
  3. 인증전략
    1. 로그인, 로그아웃
    2. 세션관리
    3. 그룹 및 권한정책
    4. 유저 디바이스 저장
  4. public, private 고민
  5. 데이터베이스 관리
    1. 백업
    2. 용도, 속도향상 고려
    3. primary key 단순 숫자 사용하지 않기 (distributed unique ID)
    4. 서버시간 정책
  6. 로그 전략
    1. 로그 적재 적략
    2. 로그 분석 전략
  7. 메세지 프로토콜 정의 - MSA를 위해서나 클라이언트와 소통을 원활히 하기 위해서
    1. 성공 메세지
    2. 에러 메세지
  8. 보안 - 클라이언트는 고양이에게 주어진 생선이라 보안은 서버에서 확실히 되어야 한다.