Giter Site home page Giter Site logo

dps's Issues

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

※ 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: 파일 이름
  • 결과
    • 파일 (파일이 존재할 때만 제공)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.