GithubHelp home page GithubHelp logo

jwp-blog's Introduction

나만의 블로그 만들기

게시글 관련 기능 구현 요구사항

  • /: 메인 페이지(index.html)

    • 게시글 생성 버튼을 누르면 /writing으로 GET 요청을 보낸다.
    • 작성된 게시글 목록이 노출된다.
    • 게시글을 클릭하면 게시글 페이지(/articles/{articleId})로 이동한다.
  • /writing: 게시글 작성 페이지(article-edit.html)

    • 저장 버튼을 누르면 /articles로 POST 요청을 보낸다.
      • X 버튼을 누르면 메인 페이지로 이동한다.
      • request받은 게시글을 ArticleRespository에 저장한다.
  • /articles/{articleId}: 게시글 페이지(article.html)

    • 수정 버튼을 누르면 게시글 수정 페이지(/articles/{articleId}/edit)로 이동
    • 삭제 버튼을 누르면 articles/{articleId}로 DELETE 요청을 보낸다.
      • 요청이 처리되면 메인 페이지(/)로 리다이렉트한다.
  • /articles/{articleId}/edit: 게시글 수정 페이지(article-edit.html)

    • 수정을 완료하면 /articles/{articleId}로 PUT 요청을 보낸다.
    • 요청이 처리되면 게시글 페이지(/article/{articleId})로 리다이렉트한다.

2주차 요구사항 - 회원 관리

1단계: 등록/조회

  • 기존에 구현한 내용을 Mysql로 옮긴다.

  • 실행 쿼리를 볼 수 있도록 설정한다.

  • /signup: 회원가입 페이지(signup.html)

    • '가입하기' 버튼을 누르면 /users로 POST 요청을 보낸다.
    • Spring Data JPA를 이용하여 DB에 사용자 정보를 저장한다.
    • 생성된 후에 로그인 화면(/login)으로 이동한다.
    • 입력 정보는 다음 규칙을 따르며, 위반 시 사용자에게 알린다.
      • 동일한 email로 중복 가입 불가능.
      • 이름은 2~10글자이며, 숫자와 특수문자가 포함될 수 없다.
      • 비밀번호는 8글자 이상 소문자, 대문자, 숫자, 특수문자 조합이어야 한다.
      • 비밀번호 확인 기능이 기능이 동작해야 한다.
    • 회원 등록 실패 시 에러 메시지를 Model에 담아서 페이지에 노출한다 - 부트스트랩의 Alerts를 이용
    • 프론트엔드에서도 유효성을 체크할 수 있도록 한다.
    • HTML5에서 제공하는 form validation 기능을 최대한 활용한다.
  • /users: 회원 목록 페이지(user-list.html)

    • DB에 저장된 회원 정보를 노출한다.

2단계: 로그인

  • /login: 로그인 페이지(login.html)

    • 로그인 성공 시 메인 페이지(/)로 이동하고 우측 상단에 사용자 이름을 띄운다.
    • 로그인 실패 시 상황에 맞는 메시지를 띄운다.
      • 이메일이 없는 경우
      • 비밀번호가 틀린 경우
    • 로그아웃 시 메인 페이지로 이동한다.
    • 로그인된 사용자가 로그인/회원가입 화면에 접근할 경우 메인 페이지로 이동한다.
  • /mypage: 마이페이지(사용자 정보 확인, mypage.html)

    • 로그인된 사용자 정보가 보여진다.
    • 로그인 여부를 판단하여 다른 사람이 접근하는 경우를 제한한다.
    • 수정 아이콘을 클릭하면 수정 페이지(/mypage-edit)로 이동한다.
    • 탈퇴 버튼을 추가한다.

3단계: 회원정보 수정 및 탈퇴

  • /mypage-edit: 마이페이지(사용자 정보 수정, mypage-edit.html)

    • 수정 버튼을 클릭하면 사용자 정보를 새로 수정한다.
    • 로그인 여부를 판단하여 다른 사람이 접근하는 경우를 제한한다.
  • /withdraw: 사용자 탈퇴(별도 페이지 없음)

    • 사용자 정보를 DB에서 제거한다.
    • 로그인 여부를 판단하여 다른 사람이 접근하는 경우를 제한한다.

jwp-blog's People

Contributors

laterality avatar pobiconan avatar

Watchers

James Cloos avatar

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.