ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [project] myBlog (with node.js)
    Project 2021. 4. 4. 23:25

    http://15.164.104.186/

     

    Dana's Blog | 2021

     

    15.164.104.186

    뭘 더 수정할까..? (4/4)

    • 글 수정버튼이 로그인한 유저에게만 보였으면 좋겠다.
      • 현재는 게시글에 비밀번호를 주고, 수정하기 할 때 비밀번호를 체크하는데, 요즘 누가 게시글 비밀번호를 일일이 기억하겠어..
      • 애초에 글쓴이만 삭제하고 수정할 수 있도록 하는것이 더 사용자 친화적인 면모인것..!!
    • 글 쓴 시각을 예쁘게 바꿔보자
    • 사용자인증 과정, 현재가 최선일까? 현재는 클라이언트쪽에 많은 의지를 하고있는데 이게 맞는지 모르겠다.
    • 글쓰기 화면에서 댓글과 마찬가지로 글쓴이 = 로그인 한 유저가 되게끔 수정하자
    • 애초에 꼭 글쓴이를 클라이언트에서 받아와야할까..?
    • 또, 토큰 만료 시간을 지정하지않았다.
    • 그리고 어째서인지 내 토큰은 브라우저를 꺼도 저장이되어있다. 솔직히 근데 이게 더 편하긴한데..
    • 아마 로그인 유지하기 기능이 토큰 만료시점을 정하는 그런 기능이 아니었을까.

    UPDATE ( 3/29 ~ 4/1 )

    드디어 CSS를 적용했다.
    댓글쓴이 === 작성자일 경우
    댓글쓴이 != 로그인한 유저 일 경우

    1. 회원가입 / 로그인 기능 구현
      • 회원가입 : DB에 유저 관련 정보를 create
      • 개인적인 경험으로, 회원가입 후 바로 로그인시켜주는것이 좋기 떄문에, 회원가입 후 로그인으로 넘어가도록 했다.
      • 로그인 : 클라이언트에서 입력받은 값이 DB값과 일치하는지 확인 후 JWT토큰 발급, 쿠키에 저장
      • 사용자 인증 : 발급받은 토큰을 디코딩하여 userID를  저장한다.
    2. 댓글 작성하기 기능
      • 로그인 한 유저만 댓글 작성하기
      • 댓글 작성자 = 로그인한 유저 닉네임
      • 이 부분은 거의 클라이언트쪽에서 처리했다.
      • 사용자 인증 과정에서 토큰을 발급받은 사용자만 댓글 작성하기 버튼이 활성화 되고, 이외에는 Alert기능이 담긴 버튼이 보인다.
      • 또한 로그인한 유저의 정보를 value값으로 미리 입력하고 readonly하여 작성자 = 로그인한 유저가 되게끔 했다.
    3. 댓글 수정하기 기능
      • 내가 작성한 댓글만 수정하도록 하기
      • 이 부분도 클라이언트쪽에서 처리를 했다.
      • 로그인한 유저 === 글쓴이 일 경우 수정하기 form이 나타나도록했다.
      • 해당 form에는 이전에 작성했던 텍스트가 value값으로 존재하고, 해당 텍스트를 수정 후 저장하기 버튼을 누르면 수정된다.
    4. 댓글 삭제하기 기능
      • 로그인한 유저 === 글쓴이 일 경우 삭제하기 버튼이 나타나도록 했다.
    5. 댓글 조회하기 기능
      • 로그인 하지 않은 사용자도 댓글 조회하기
      • 처음에 작성했던 코드는, 사용자 인증 정보가 없을 경우 (토큰이 없을 경우), 에러처리를 했다.
      • 그래서 사용자 인증을 미들웨어로 넣은 부분에 로그인 없이 접근할 수 없었다.
      • 그래서 사용자 인증 정보가 없는 경우를 에러처리가 아닌 예외처리를 하여 해결했다.
      • 만약 인증이 필요한 기능이라면, 미인증 사용자에게 보여주지않도록 처리를 했고 같은 페이지여도 다른 작동을 하게끔 작성했다.
      • 예를들면, 댓글작성에 확인버튼을 눌렀을 때, 미인증 유저에게는 Alert가 뜨는 확인버튼이지만, 인증 사용자에게는 작성하기 기능을 하는 버튼이 되게끔.
      • 서버쪽에서 처리하지않고 클라이언트쪽에서 이런식으로 처리하는게 맞는건가? 하는 의구심이 드는데 한번 알아보고 업데이트가 가능하면 업데이트 해봐야겠다.

     


    CRUD기능이 있는 blog만들기

    -MVC패턴을 적용하여 작성했습니다.

     

    what i used

    • Node.js
    • pug
    • mongoDB

    what's in my blog

    • 글목록 조회
      • 최신글이 최상단에 위치
      • 특정 글 제목 클릭하면 해당 글의 상세페이지로 이동
    • 글 작성
    • 글 수정
      • 비밀번호 확인 후 동일한 비밀번호일 때 수정
      • 수정하기 버튼을 눌렀을 때 작성했던 글 나오게하기
    • 글 삭제
      • 비밀번호 확인 후 동일한 비밀번호일 때 삭제

     

    Git 주소

    github.com/danaisboss/myBlog.git

     

    danaisboss/myBlog

    myBlog with node.js. Contribute to danaisboss/myBlog development by creating an account on GitHub.

    github.com

     

Designed by Tistory.