Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

시나리오1 - 간단한 커뮤니티 사이트 만들기 #1

Open
sinb57 opened this issue May 20, 2021 · 0 comments
Open

시나리오1 - 간단한 커뮤니티 사이트 만들기 #1

sinb57 opened this issue May 20, 2021 · 0 comments

Comments

@sinb57
Copy link
Owner

sinb57 commented May 20, 2021

※ any 태그는 실제로 존재하는 것이 아닙니다. 임의의 태그로 대체하여 사용하세요.
※ 결과는 Redirect 시켜서 보여주면 안됩니다. 페이지 내에서 보여주세요.

1. 회원가입, 로그인

회원가입 페이지 (signUp_check)

  • 요구사항
    • 중복된 아이디로 회원가입이 되면 안된다.
    • 비밀번호는 영어, 숫자, 특수문자가 하나 이상씩 포함돼야 하며, 최소 9자 이상이어야 한다.
    • 특수문자는 !@#$%^&*가 보장되어야 한다.
  • POST
    • id: 아이디
    • passwd: 비밀번호
  • 결과
    • <any id='result'>[회원가입 성공 여부]</any>
    • [회원가입 성공 여부]: Success/Fail

로그인 페이지 (login_check)

  • POST
    • id: 아이디
    • passwd: 비밀번호
  • 결과
    • <any id='result'>[로그인 성공 여부]</any>
    • [로그인 성공 여부]: Success/Fail

2. 게시물 작성

게시물 작성 (writeDocument_check)

  • 요구사항
    • 게시물 작성은 로그인한 사용자만 가능하다.
    • 게시물 작성이 성공하면 1 이상의 고유한 게시물 번호를 부여받는다.
    • 게시물 작성이 실패하면 게시물 번호로 -1이 반환된다.
    • 제목의 최대 길이는 최소 80자 이상이어야 한다.
    • 내용의 최대 길이는 최소 300자 이상이어야 한다.
  • POST
    • title: 제목
    • content: 내용
  • 결과
    • <any id='number'>[게시물 번호]</any>

게시물 페이지 (document)

  • 요구사항
    • 게시물 페이지는 게시물 번호를 파라미터로 받아 해당 게시물의 내용을 보여준다.
    • 게시물이 없을 경우 Fail 출력
  • GET
    • number: 게시물 번호
  • 결과
    • <any id='result'>Fail</any> (게시물이 없을 때만 제공)
    • <any id='number'>[게시물 번호]</any>
    • <any id='title'>[게시물 제목]</any>
    • <any id='content'>[게시물 내용]</any>

3. 게시판

게시판 페이지 (board)

  • 요구사항
    • 게시판 페이지는 게시물들의 목록을 보여준다.
    • 가장 최근에 작성한 게시물이 목록 최상단에 있어야 한다.
    • 목록의 각 항목에는 제목이 있어야 하고, 제목을 클릭하면 해당 게시물 페이지로 이동해야 한다.
  • 결과
    • <any id='title_[게시물 번호]'>[게시물 제목]</any>

4. 게시물 수정 및 삭제

게시물 수정 페이지 (modifyDocument_check)

  • 요구사항
    • 게시물 수정은 게시물을 작성한 사람만 할 수 있다.
  • POST
    • number: 게시물 번호
    • title: 게시물 제목
    • content: 게시물 내용
  • 결과
    • <any id='result'>[수정 성공 여부]</any>
    • [수정 성공 여부]: Success/Fail

게시물 삭제 페이지 (deleteDocument_check)

  • 요구사항
    • 게시물 삭제는 게시물을 작성한 사람만 할 수 있다.
  • POST
    • number: 게시물 번호
  • 결과
    • <any id='result'>[삭제 성공 여부]</any>
    • [삭제 성공 여부]: Success/Fail

5. 게시물 검색 (board)

게시물 검색 기능

  • 요구사항
    • 게시판 페이지에서 게시물 검색을 할 수 있다.
  • GET
    • category: title/content
    • search: [검색 내용]
  • 결과
    • <any id='title_[게시물 번호]'>[게시물 제목]</any>

6. 비밀글

비밀글 기능

  • 요구사항
    • 게시물 작성 및 수정 페이지에서 게시물에 비밀글 설정을 할 수 있다.
    • 기존 파라미터에 추가적으로 secret과 passwd 파라미터가 더해진다.
    • 비밀글은 게시물 비밀번호를 아는 사용자만 볼 수 있다.
    • 게시물 비밀번호는 4자리 숫자만 사용가능하다.
  • POST
    • secret: true/false
    • passwd: 게시물 비밀번호 (secrettrue일 때만 제공)

게시물 페이지

  • 요구사항
    • 비밀글 설정이 되어있는 게시물 페이지를 방문할 때는 추가적으로 passwd 파라미터가 필요하다.
    • 비밀글에 접근할 때 비밀번호가 틀리거나 제공되지 않으면 결과로 Fail을 출력한다.
  • POST
    • passwd: 게시물 비밀번호
  • 결과
    • <any id='result'>Fail</any> (비밀번호 틀릴 시에만 제공)

7. 게시물 파일 업로드, 다운로드

파일 업로드 기능

  • 요구사항
    • 게시물 작성 및 수정 페이지에서 파일 업로드를 할 수 있다.
    • 한 게시물 당 하나 이상의 파일을 업로드할 수 있으며, 업르드 가능한 최대 용량은 최소 1MB 이상 이어야이다.
    • 기존 파라미터에 추가적으로 file 파라미터가 더해진다.
  • POST
    • file: 파일

파일 다운로드 (fileDownload)

  • 요구사항
    • 게시물 페이지에서 업로드된 파일의 이름을 확인할 수 있다.
    • <any id='file_[파일 이름]'>[파일 이름]<any>
    • 파일의 이름을 클릭할 경우 download 페이지로 이동하여, 해당 파일을 다운로드 할 수 있다.
    • 파일 다운로드 URL에는 number 파라미터와 file 파라미터가 존재한다.
    • 파라미터에 맞는 파일이 존재하지 않을 경우 HTML Status Code로 404를 반환한다.
  • GET
    • number: 게시물 번호
    • file: 파일 이름
  • 결과
    • 파일 (파일이 존재할 때만 제공)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant