Skip to content

psmin0325/ExpressBoard

 
 

Repository files navigation

ExpressBoard

MVC 패턴으로 게시판 사이트 구현.

사용할 기술

  • Express 프레임워크로 구현
  • 템플릿 엔진으로 .ejs를 사용
  • DB는 MongoDB를 사용

구현할 페이지(프로젝트 기획)

  • 홈 화면(비 로그인, 로그인) : 기본 홈 화면으로 게시판 카테고리와 상관없이 가장 최근 게시물 10개를 가져온다. 상단에 공지게시판 자유게시판으로 이동하는 네비게이션 바가 있다. 그리고 홈페이지 이름과 로그인 회원가입 버튼이 있다 (로그인 시 로그아웃 버튼과 '{user}님 안녕하세요' 라는 라벨을 띄운다).
  • 게시물 화면(비 로그인, 로그인) : 공지게시판과 자유게시판으로 나누어 각 카테고리에 맞는 게시글만 올라오게 한다. 좌측에 각각의 카테고리로 연결해주는 버튼을 추가한다. 하단에는 페이징기능을 추가한다. 비 로그인 시에는 게시물 작성을 못하나 로그인시 게시물 작성 버튼이 화면에 표시된다.
  • 회원가입 화면(비 로그인) : 유저명과 비밀번호, 비밀번호 재확인 입력 폼을 추가한다.
  • 게시글 화면(비 로그인, 로그인) : 상단에 제목 중단에 게시글 우측에 작성일과 작성자 조회수를 표시한다. 하단에 목록으로 이동하기 버튼을 추가한다. 로그인시 게시글을 작성한 유저가 맞다면 편집하기 버튼과 삭제하기 버튼을 추가한다.
  • 편집 화면(로그인) : 게시글을 불러와 작성할 수 있는 형태의 페이지로 하단에 수정하기 버튼을 눌러 게시글을 편집할 수 있다.

폴더별 역할

  • config : db연결을 위한 환경설정
  • controllers : 라우트 처리에 필요한 함수들 .js 파일로 작성
  • middlewares : (로그인이 필요한 컨텐츠 이용시)로그인했는지 확인하는 미들웨어 작성
  • models : DB 모델 생성
  • public : 정적 파일들 저장
  • routes : 라우트 처리
  • schemas : 모델의 스키마 코드 작성
  • views : 화면에 렌더링할 .ejs 파일들 작성 -- category : 게시판 카테고리별 템플릿 파일모음 -- layouts : 레이아웃 파일 작성 -- loginUsers : 로그인한 유저들을 위한 렌더링 파일들 작성 -- noLoginUsers : 비 로그인 유저들을 위한 렌더링 파일들 작성

.env 환경변수 설정 파일(.gitignore에 추가)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • EJS 59.3%
  • JavaScript 40.7%