Giter VIP home page Giter VIP logo

jblog2's Introduction

JBlog 평가과제

Spring Framework를 이용한 JBlog 구현

Notice

Category Table

  • name: 보여지는 이름
  • description: 카테고리에 대한 설명(굳이 없어도 되는 정보)

별도로 구현한 내용

로그인과 로그아웃

  • 블로그에서 게시글을 보다가 로그인하거나 로그아웃해도 해당 게시글 위치로 이동한다.
  • 관리자 페이지에서 로그아웃할 경우 관리자(였던)블로그의 첫 페이지로 이동한다.

회원가입

  • ID 중복체크 실시간 감지 기능으로 변경
  • 비밀번호 Validation 추가
  • 중복 체크를 하지 않았을 경우 아예 회원가입을 하지 못하도록 설정

관리자 페이지 접근 설정

  • 비회원이나 회원이나, 자신의 블로그가 아닌 관리자 페이지에 접근하려고 하면 블로그 페이지의 메인 화면이 뜬다.

메뉴

  • 메인 메뉴
    • 비로그인 시 회원가입로그인만 보인다.
    • 로그인 시 로그아웃내 블로그만 보인다.
  • 블로그 메뉴
    • 비로그인 시 로그인이 보인다.
    • 로그인 시 로그아웃이 보인다. 블로그 주인이라면 블로그 관리도 함께 뜬다.
  • 블로그 관리 메뉴
    • 로그인 시 로그아웃블로그 메인이 뜬다. 블로그 메인를 누르면 원래 블로그 페이지로 이동한다.

이미지 업로드

  • 디폴트 이미지(지정하지 않았을 때나 찾지 못했을 때): /assets/images/logo.jpg
  • 로고 이미지 파일 경로: jblog-uploads/logo/ (경로가 존재하지 않으면 알아서 만든다.)
  • 간혹 workspace가 D드라이브에 있더라도 C드라이브에 파일이 업로드되는 경우가 발생하였다.(파일 업로드 및 업로드 된 이미지를 보여주는 것에는 문제 없음) 혹시나 업로드된 파일을 찾고 싶다면 드라이버 전부 찾아보기
  • 이미지 업로드 시 원래 사진이 표시되던 곳에 새로 올린 이미지가 올라간다. 기존 이미지는 삭제된다.
  • 서로 다른 회원이 우연히 밀리세컨드까지 똑같은 시점에 이미지를 올릴 것에 대비하여 이미지 파일명에 UUID도 넣었다.

카테고리 관리

  • (ajax로 구현하지는 않았다.)
  • 카테고리에 포스트가 아예 없는 경우만 삭제가 되도록 처리하였다.
  • 포스트가 있는 경우 포스트를 삭제할 수 없다는 alert가 뜬다.
  • 미분류 카테고리는 페이지에서 삭제 버튼을 생성하지 않아, 블로그 관리자가 삭제할 수 없도록 설정해두었다.

포스트 관리

  • HTML Editor(네이버 스마트 에디터) 사용

관리자 페이지

  • 관리자 페이지에서 '블로그 업데이트', '카테고리 등록', '카테고리 삭제', '포스트 작성'을 할 경우, alert가 뜨면서 등록이 되었음을 확인할 수 있다.

메인 페이지

  • 환영 메시지 출력

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.