Skip to content
Nam Se Hyun edited this page Jan 24, 2017 · 7 revisions

#어플 기획 의도

  1. "마크다운"으로 글을 쓸 수 있는 Medium같은 CMS.

  2. 유저는 개인 공간에 글을 쓸 수 있음.

  3. 유저는 그룹에 가입할 수 있음.

  4. 모든 글 공간(개인, 그룹)은 트리 형태를 띄움 (폴더 디렉토리같은)

  5. 모든 글, 글공간의 접근권한 등을 유저가 설정할 수 있게 의도함. 회사 등에서도 이 프로그램을 안전한 보안 내에서 사용할 수 있게 하기 위함

#글

글은 Amazon S3 저장소에 올라감.

글에서 필요한 이미지, 파일 등도 S3 저장소에 올라감

  • 글 내부에 url link 설정

글은 Markdown 에디터로 작성

  • NHN Ent.에 에디터 만드는게 있다고 함.
  • 그거 아니더라도, 오픈소스 에디터로 시작하는게 좋을 듯함.

서버와의 통신

(우리가 관리하는)서버는 존재하지 않음.

  • AWS가 관리하는 서비스를 기반으로 사용.(Backend as a Service같은 느낌)

사용하는 AWS 서비스 목록

  • Cognito
    • 보안 관리하는 서비스
    • 로그인, 세션, 아이디만들기, 모든걸 다 지원
  • S3
    • 저장소
  • Lambda + API Gateway
    • 서버 로직을 람다에 올려서 실행.

서버와의 통신 기본 로직

  1. Cognito로 로그인한다.
  2. 보여줄 데이터를 S3에서 가져온다.
  3. S3에서 바로 가져올 수 없는 데이터들은 람다를 통해서 인증 걸쳐 가져온다.

용어

  • File & Folder
    • 윈도우즈 PC에서 사용하는 용어인 파일과 폴더를 그대로 사용함으로서 개념을 쉽게 가져가기 위함.
    • File: 글
    • Folder: 글을 담는 공간
      • Folder는 Folder를 담을 수도 있게 할 예정.

MVP

  1. 유저당 한 폴더.
  2. 폴더 깊이는 1(폴더 내 폴더 없음)
  3. 그룹 개념 없음.
  4. 글 수정&작성 때 자동 세이브
  • 중간에 브라우저가 종료되도 다시 작성할 수 있도록

글 작성 및 편집 과정

  1. S3에 임시 파일 생성
  2. 주기적으로 상태 저장
  3. Post를 누르면 public- 접두어를 붙인 파일을 S3에 public-read로 올림

약속(컨벤션)

  • DynamoDB
    • PascalCase
      • 테이블
    • camelCase
      • 속성, 값 모두

Clone this wiki locally