백엔드-노드

노드 실전

강사: 오백엔드 · 작성자: 이종춘 · 작성일: 2026-07-08 18:10:05 · 조회수: 5

23강. 실무형 게시판 프로젝트 만들기
목록으로
23강. 실무형 게시판 프로젝트 만들기

이번 강의에서는 지금까지 배운 Express + MySQL + React를 활용하여 실무에서 사용하는 게시판 프로젝트를 완성합니다.

목표: 게시판 CRUD뿐만 아니라 댓글, 좋아요, 조회수, 검색, 파일 첨부까지 포함된 실무형 게시판을 구현합니다.

1. 프로젝트 완성 구조
React



Axios



Express API



JWT 인증



MySQL



게시판
댓글
좋아요
파일업로드

2. 프로젝트 구조
board-project

├── frontend

│ ├── pages
│ ├── components
│ ├── api
│ └── hooks

└── backend

├── routes
├── controllers
├── models
├── middleware
├── uploads
└── config

3. 게시판 테이블
CREATE TABLE board(

id INT AUTO_INCREMENT PRIMARY KEY,

title VARCHAR(200),

content TEXT,

writer VARCHAR(100),

image VARCHAR(255),

views INT DEFAULT 0,

likes INT DEFAULT 0,

created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP

);

4. 댓글 테이블
CREATE TABLE comment(

id INT AUTO_INCREMENT PRIMARY KEY,

board_id INT,

writer VARCHAR(100),

content TEXT,

created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP

);

5. 게시글 목록
GET

/api/v1/boards

SQL

SELECT *

FROM board

ORDER BY id DESC;

6. 게시글 상세보기

조회수를 증가시킵니다.

UPDATE board

SET views = views + 1

WHERE id = ?;

조회

SELECT *

FROM board

WHERE id = ?;

7. 게시글 등록
POST

/api/v1/boards

입력

{

"title":"Node",

"content":"Express",

"writer":"커사맨"

}

8. 게시글 수정
PUT

/api/v1/boards/1

SQL

UPDATE board

SET

title=?,

content=?

WHERE id=?;

9. 게시글 삭제
DELETE

/api/v1/boards/1

SQL

DELETE

FROM board

WHERE id=?;

10. 댓글 등록
POST

/api/v1/comments

SQL

INSERT INTO comment(

board_id,

writer,

content

)

VALUES(

?,?,?

);

11. 댓글 목록
SELECT *

FROM comment

WHERE board_id=?

ORDER BY id DESC;

React

게시글



댓글



댓글



댓글

12. 좋아요 기능

SQL

UPDATE board

SET likes = likes + 1

WHERE id=?;

API

POST

/api/v1/boards/1/like

13. 검색 기능

SQL

SELECT *

FROM board

WHERE title

LIKE ?;

Node

"%"+keyword+"%"

14. 카테고리

테이블

ALTER TABLE board

ADD category

VARCHAR(30);

검색

SELECT *

FROM board

WHERE category=?;

15. 페이지네이션
LIMIT ?,10;

예시

1

2

3

4

5

16. 이미지 업로드

multer



uploads



DB 저장



React 출력

/uploads/photo.jpg

17. JWT 로그인

로그인



JWT



LocalStorage



API



Authorization



게시글 작성

18. React 구조
BoardList.jsx



BoardDetail.jsx



BoardWrite.jsx



BoardEdit.jsx

API

axios.get()

axios.post()

axios.put()

axios.delete()

19. 관리자 기능

관리자



게시글 삭제



회원 삭제



댓글 삭제



신고 관리



공지사항 등록

20. 실무 프로젝트 구조
Board



├── 로그인

├── 회원가입

├── 게시판

├── 댓글

├── 좋아요

├── 조회수

├── 검색

├── 파일업로드

├── 관리자

└── JWT

21. 추가 기능
게시글 고정(Pin)
인기글
댓글 개수 표시
첨부파일 다운로드
태그(Tag)
북마크
게시글 공유

22. React 화면
게시글 목록



검색



카테고리



글쓰기



상세보기



댓글



좋아요

23. 이번 강의 핵심 정리
게시판
CRUD
검색
페이지네이션
조회수
좋아요
댓글
등록
조회
삭제
로그인
JWT
Authorization
파일
multer
uploads
React
목록
상세
등록
수정
실무 팁

실무 게시판은 단순 CRUD에서 끝나지 않습니다.

일반적으로 아래 기능까지 포함됩니다.

기능 설명
조회수 상세 조회 시 증가
좋아요 사용자 반응 저장
댓글 게시글과 1:N 관계
검색 제목, 내용, 작성자 검색
페이지네이션 대량 데이터 처리
첨부파일 이미지·문서 업로드
권한 관리 작성자와 관리자 권한 구분
소프트 삭제 실제 삭제 대신 삭제 상태 표시
최종 프로젝트

다음 기능을 모두 구현해 보세요.

✅ 회원가입
✅ 로그인(JWT)
✅ 게시판 CRUD
✅ 댓글 CRUD
✅ 조회수 증가
✅ 좋아요
✅ 검색
✅ 페이지네이션
✅ 이미지 업로드
✅ 관리자 페이지
✅ React 연동
#23강. 실무형 게시판 프로젝트 만들기

첨부 파일

0개
첨부된 파일이 없습니다.

댓글 / 답글

0개
댓글을 작성하려면 로그인하세요.
아직 댓글이 없습니다.