AI 웹 개발 : 반응형 게시판 글쓰기 & 댓글 기능 구현하기 (초보자ㆍ비전공자를 위한 AI 웹 개발 실무 시리즈) | Part 3

1. 이제 게시판이 “동작하기 시작합니다”

Part 2까지 진행하면서
우리는 게시판을 화면 구조 중심으로 완성했습니다.

  • 반응형 레이아웃이 있고
  • 게시글 목록이 보이며
  • 모바일과 데스크톱 모두에서 깨지지 않는 상태

하지만 아직까지 이 게시판은
사용자가 할 수 있는 행동이 거의 없는 화면입니다.

게시판이 게시판답게 느껴지려면
반드시 다음 두 가지가 필요합니다.

  • 글을 작성할 수 있어야 하고
  • 글에 반응(댓글)을 남길 수 있어야 합니다

이번 Part 3에서는
바로 이 두 가지를 다룹니다.

👉 “게시판이 단순한 페이지가 아니라 사용자가 참여하는 공간”이 되는 단계입니다.

AI를 활용해 웹개발을 하는 모습을 AI를 활용해 시각화 한 이미지입니다. 본 이미지의 저작권은 블로그 주인 제로에게 있습니다.
AI와 협업하는 개발자의 모습을 AI를 활용해 시각화 한 이미지입니다.
본 이미지의 저작권은 블로그 주인 제로에게 있습니다.

2. Part 3의 핵심 목표 정리

이번 글의 목표는 명확합니다.

  • 게시글을 작성하는 화면(UI) 구성
  • 게시글 하단에 댓글 영역(UI) 구성
  • 실제 저장 기능이 없어도
    동작 흐름이 이해되는 구조 만들기

⚠️ 아직 서버, DB, 로그인은 다루지 않습니다.
이번 단계는 프론트엔드 구조와 사용자 흐름(UI/UX)에 집중합니다.


3. 게시판에서 “글쓰기” 기능은 왜 중요한가요?

초보자분들은 종종 이렇게 생각합니다.

“글쓰기야 textarea 하나 있으면 되는 거 아닌가요?”

실무에서는 그렇지 않습니다.

글쓰기 화면은 다음을 모두 고려해야 합니다.

  • 사용자가 어떤 순서로 입력하는지
  • 제목과 본문이 시각적으로 잘 구분되는지
  • 모바일에서도 입력이 편한지
  • 나중에 기능(저장, 수정, 삭제)을 붙이기 쉬운 구조인지

그래서 이번 Part 3에서는
디자인보다 구조와 흐름을 먼저 잡습니다.


4. 글쓰기 화면의 기본 구성 이해하기

게시판 글쓰기 화면은
보통 다음 요소로 구성됩니다.

  1. 페이지 제목(“글 작성”)
  2. 제목 입력 필드
  3. 본문 입력 영역
  4. 버튼 영역(등록 / 취소)

이 네 가지가 명확히 나뉘어 있으면
AI가 생성한 코드도 훨씬 이해하기 쉬워집니다.


5. Cursor에게 지시할 프롬프트 (글쓰기 화면)

이제 실제로 Cursor에게 지시합니다.
아래 프롬프트는 Part 3에서 그대로 입력하셔도 됩니다.

[Cursor AI 바로가기]

📌 Cursor 입력 프롬프트 ① — 글쓰기 화면

게시판 글쓰기 페이지의 UI를 만들어 줘.

조건:
- HTML과 CSS만 사용
- 모바일 기준(Mobile First)
- 제목 입력 input
- 본문 입력 textarea
- 하단에 등록/취소 버튼 영역
- 게시판 목록 페이지와 자연스럽게 이어지는 구조
- 각 영역에 주석을 상세하게 작성

실제 저장 기능은 구현하지 않고 UI 구조와 레이아웃에 집중해줘.

이 프롬프트로 생성된 코드는
“동작하지 않지만 충분히 그럴듯한” 글쓰기 화면을 만들어줍니다.

이 상태가 바로 실무에서
기획·디자인 검토 단계에 사용하는 화면과 매우 유사합니다.

Cursor AI에 입력한 프롬프트.
이해를 돕기 위해 직접 캡쳐한 화면으로 본 이미지의 저작권은 블로그 주인 제로에게 있습니다.
Cursor AI에 입력한 프롬프트.
이해를 돕기 위해 직접 캡쳐한 화면으로 본 이미지의 저작권은 블로그 주인 제로에게 있습니다.

6. 초보자가 글쓰기 코드를 볼 때 꼭 봐야 할 것

Cursor가 생성한 코드(코드 일부 발췌)

<!-- 
                ============================================
                글쓰기 폼 영역 (Write Form Section)
                ============================================
                게시글 작성에 필요한 입력 필드들이 들어가는 영역
                제목 입력과 본문 입력 필드 포함
            -->
            <section class="write-form-section">
                <!-- 
                    글쓰기 폼 컨테이너
                    form 태그를 사용하여 폼 구조를 명확하게 표현
                    (실제 저장 기능은 구현하지 않으므로 action과 method는 생략)
                -->
                <form class="write-form" action="#" method="post">
                    
                    <!-- 
                        ============================================
                        제목 입력 그룹 (Title Input Group)
                        ============================================
                        게시글 제목을 입력하는 필드와 라벨을 묶는 그룹
                    -->
                    <div class="form-group">
                        <!-- 제목 입력 필드의 라벨 -->
                        <label for="title" class="form-label">
                            제목
                            <!-- 필수 입력 표시 (빨간 별표) -->
                            <span class="required">*</span>
                        </label>
                        <!-- 제목 입력 필드 (input 태그 사용) -->
                        <input 
                            type="text" 
                            id="title" 
                            name="title" 
                            class="form-input title-input" 
                            placeholder="게시글 제목을 입력하세요"
                            required
                        >
                    </div>

                    <!-- 
                        ============================================
                        본문 입력 그룹 (Content Input Group)
                        ============================================
                        게시글 본문을 입력하는 필드와 라벨을 묶는 그룹
                    -->
                    <div class="form-group">
                        <!-- 본문 입력 필드의 라벨 -->
                        <label for="content" class="form-label">
                            본문
                            <!-- 필수 입력 표시 (빨간 별표) -->
                            <span class="required">*</span>
                        </label>
                        <!-- 본문 입력 필드 (textarea 태그 사용) -->
                        <textarea 
                            id="content" 
                            name="content" 
                            class="form-textarea content-textarea" 
                            placeholder="게시글 내용을 입력하세요"
                            required
                        ></textarea>
                    </div>

                </form>
                <!-- write-form 끝 -->
            </section>
            <!-- write-form-section 끝 -->

생성된 코드를 보면
처음엔 길고 복잡해 보일 수 있습니다.

이때 아래 세 가지만 보시면 됩니다.

  1. 제목 input과 본문 textarea가 명확히 구분되어 있는지
  2. 버튼 영역이 따로 묶여 있는지
  3. 모바일 화면에서 입력이 불편하지 않은지

지금은
“이게 서버로 어떻게 저장되지?”를 고민하지 않으셔도 됩니다.

그건 나중 단계입니다.

Cursor AI가 생성한 게시판 글쓰기 페이지.
이해를 돕기위해 직접 캡쳐한 화면으로 본 이미지의 저작권은 블로그 주인 제로에게 있습니다.
Cursor AI가 생성한 게시판 글쓰기 페이지.
이해를 돕기위해 직접 캡쳐한 화면으로 본 이미지의 저작권은 블로그 주인 제로에게 있습니다.

7. 댓글 기능은 왜 Part 3에서 다룰까요?

댓글은 게시판에서
사용자 참여를 가장 직관적으로 보여주는 요소입니다.

또한 댓글 UI는 이후에 다음 기능들과 연결됩니다.

  • 로그인
  • 권한(수정/삭제)
  • 실시간 갱신

그래서 댓글 영역은
초기에 구조를 잘 잡아두는 것이 매우 중요합니다.


8. 댓글 영역의 기본 구조 이해하기

댓글 영역은 크게 두 부분으로 나뉩니다.

  1. 댓글 입력 영역
  2. 댓글 목록 영역

각 댓글 하나에는 보통 다음 정보가 들어갑니다.

  • 작성자
  • 댓글 내용
  • 작성 시간

지금 단계에서는
이 역시 더미 데이터로 구성해도 전혀 문제 없습니다.


9. Cursor에게 지시할 프롬프트 (댓글 영역)

아래 프롬프트를
글 상세 페이지 또는 글쓰기 페이지 하단에 적용합니다.

📌 Cursor 입력 프롬프트 ② — 댓글 영역

게시판 댓글 UI를 만들어 줘.

조건:
- 댓글 입력 textarea
- 댓글 등록 버튼
- 댓글 목록 영역
- 각 댓글은 작성자, 내용, 작성 시간 표시
- 모바일 기준 레이아웃
- 실제 동작은 없고 UI 구조만 구현

게시글 하단에 자연스럽게 배치되도록 구성해 줘.
Cursor AI에 입력한 프롬프트.
이해를 돕기 위해 제공하 캡쳐화면으로 본 이미지의 저작권은 블로그 주인 제로에게 있습니다.
Cursor AI에 입력한 프롬프트.
이해를 돕기 위해 제공하 캡쳐화면으로 본 이미지의 저작권은 블로그 주인 제로에게 있습니다.

이렇게 생성된 댓글 UI는
아직 동작하지 않지만,
게시판의 완성도를 크게 끌어올려 줍니다.

Cursor가 생성한 코드(일부발췌)

<!-- 
                    ============================================
                    댓글 입력 영역 (Comment Input Section)
                    ============================================
                    댓글을 작성하는 입력 필드와 등록 버튼이 들어가는 영역
                -->
                <div class="comment-input-section">
                    <!-- 댓글 입력 폼 -->
                    <form class="comment-form">
                        <!-- 댓글 입력 필드 -->
                        <textarea 
                            class="comment-input" 
                            placeholder="댓글을 입력하세요"
                            rows="4"
                        ></textarea>
                        <!-- 댓글 등록 버튼 -->
                        <div class="comment-submit-wrapper">
                            <button type="button" class="btn btn-primary comment-submit-btn">
                                등록
                            </button>
                        </div>
                    </form>
                </div>
                <!-- comment-input-section 끝 -->
Cursor AI가 제작한 페이지.
이해를 돕기 위해 제공하는 쳐화면으로 본 이미지의 저작권은 블로그 주인 제로에게 있습니다.
Cursor AI가 제작한 페이지.
이해를 돕기 위해 제공하는 쳐화면으로 본 이미지의 저작권은 블로그 주인 제로에게 있습니다.

10. 용어 설명: UI와 UX는 무엇이 다른가요?

글을 읽다 보면
UI, UX라는 용어가 자주 등장합니다.

간단히 정리하면 다음과 같습니다.

  • UI(User Interface)
    → 화면에 보이는 구성 요소들
    (버튼, 입력창, 배치)
  • UX(User Experience)
    → 사용자가 느끼는 전체 흐름과 편의성
    (입력 순서, 동선, 불편함 여부)

Part 3은
UI를 만들면서 동시에 UX를 고려하는 단계입니다.


11. Part 3까지 왔을 때의 현재 상태

여기까지 진행하셨다면
현재 게시판은 다음 상태입니다.

  • 게시판 목록 화면 존재
  • 글쓰기 화면 UI 완성
  • 댓글 영역 UI 완성
  • 모바일·데스크톱 대응 구조 유지

아직 데이터는 없지만,
“서비스처럼 보이는 게시판”이 완성된 상태입니다.

[제로의 GitHub 저장소 바로가기]


12. 다음 Part 4에서는 무엇을 하나요?

다음 Part 4에서는
게시판의 사용성을 한 단계 더 끌어올립니다.

  • 페이지 이동(페이징) UI
  • 게시글 검색 구조
  • 필터 UI 구성

즉,
게시판을 실제로 ‘탐색’할 수 있는 단계로 넘어갑니다.


마무리

AI를 사용하면
글쓰기 화면과 댓글 UI는 몇 분 만에 만들어집니다.

하지만 중요한 것은
그 코드를 이해하고, 수정할 수 있는 상태가 되는 것입니다.

Part 3은
그 기준점을 만드는 단계입니다.

다음 Part 4에서
게시판을 더욱 실무에 가까운 형태로 완성해 보겠습니다.

다음 글에서 이어가겠습니다.

이전 편 다시보기

AI 웹 개발 : 쇼핑몰 페이지 편(Part1~Part5) 다시보기
AI 웹 개발 : 반응형 게시판 기본 레이아웃 만들기 (초보자ㆍ비전공자를 위한 AI 웹 개발 실무 시리즈) | Part 2

 AI 코딩 시리즈 다시보기

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤