Skip to content

WebDevList/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