플랫폼 구축 // ID_0036

구축 기록 | forum.netcity.co.kr, 3단계 토론실과 실시간 현황을 갖춘 포럼 구축기

AUTHOR NETCITY_ADMIN
PUBLISHED 2026.05.05 03:50
ARCHIVE NODE 플랫폼 구축
구축 기록 | forum.netcity.co.kr, 3단계 토론실과 실시간 현황을 갖춘 포럼 구축기 대표 이미지
구축 기록 | forum.netcity.co.kr, 3단계 토론실과 실시간 현황을 갖춘 포럼 구축기 대표 이미지
forum.netcity.co.kr 메인 포럼 화면 캡처
forum.netcity.co.kr 메인 화면. 흰 배경, 블루 계열 리스트, 우측 실시간 현황 레이어를 중심으로 구성했다.

forum.netcity.co.kr은 단순 게시판을 하나 더 만든 작업이 아니라, 주제별 토론실이 안쪽으로 확장되는 구조를 실제 서비스 형태로 조립한 구축 프로젝트다. 이번 포럼은 공지/운영, 자유토론, 기술/개발, 비즈니스/협업, 지역/정책, 우주/과학처럼 큰 주 메뉴를 먼저 세우고, 각 메뉴 안에서 1차 토론실을 열 수 있게 설계됐다. 1차 토론실 안에서는 2차 토론실을, 2차 토론실 안에서는 다시 3차 토론실을 만들 수 있다. 즉 하나의 글 목록에서 끝나는 구조가 아니라, 주제가 성장하면서 하위 토론실을 품는 다층형 포럼이다.

디자인 방향은 분명했다. 흰색 배경을 유지하고, 카드나 그림자를 쓰지 않으며, 리스트는 블루 계통 배경으로 정리한다는 조건이었다. 그래서 포럼 메인과 상세 화면은 큰 박스형 카드보다 선, 리스트, 계층, 숫자 정보가 중심이 되도록 구성했다. 메뉴와 1차 토론 등록 버튼은 분명하게 분리했고, 카테고리를 누르면 해당 주제의 포럼만 나오게 했다. 사용자가 주 메뉴를 고르면 다른 주제의 포럼이 섞이지 않고, 해당 카테고리 안의 1차 토론실만 정리된다.

1페이지. 포럼의 뼈대: 3단계 토론실과 댓글 중심 참여

이번 구축의 핵심은 ‘토론실 안에 토론실이 생기는 구조’다. 보통 게시판은 목록과 상세, 댓글 정도로 끝난다. 그러나 이 포럼은 토론이 커질 때 별도의 하위 토론실을 만들어 흐름을 분리할 수 있다. 예를 들어 우주/과학 메뉴에서 달 탐사 데이터라는 1차 토론실이 열리면, 그 안에 실행 과제라는 2차 토론실을 만들고, 다시 세부 검토라는 3차 토론실을 만들 수 있다. 사용자는 큰 주제, 실행 주제, 세부 주제를 한 계단씩 내려가며 확인하게 된다.

참여 방식은 댓글과 대댓글로 정리했다. 별도의 복잡한 글쓰기 흐름을 늘리는 대신, 토론실 본문은 주제를 세우는 역할을 하고, 실제 대화는 댓글과 대댓글이 담당한다. 댓글 등록 버튼은 상세 화면에서 분명하게 보이도록 배치했고, 대댓글은 기존 댓글의 답글 링크를 통해 이어진다. 토론 등록과 댓글 등록 화면에는 에디터가 붙어 있어 이미지, 파일, 링크, 유튜브, 인용, 구분선 같은 콘텐츠를 넣을 수 있다.

회원 기능도 함께 들어갔다. 회원가입과 로그인 메뉴를 만들고, 관리자 계정은 admin으로 구성했다. 새로 등록되는 포럼글과 댓글에는 작성 회원의 소유자 값이 기록된다. 그래서 관리자는 모든 글을 관리할 수 있고, 일반 회원은 자신이 개설한 포럼이나 자신이 작성한 댓글을 수정하고 삭제할 수 있다. 삭제는 실제 DB 삭제가 아니라 숨김 처리 방식으로 설계해 운영 안정성을 높였다. 실서비스에서 중요한 것은 ‘되돌릴 수 있는 운영’이기 때문이다.

에디터도 포럼에 맞게 손봤다. 툴바는 버튼 박스가 강조되지 않고 아이콘 중심으로 보이게 정리했다. 사진 업로드는 로그인한 계정별 폴더로 저장되며, 업로드 파일에는 고유 코드가 붙는다. 예를 들어 관리자 계정으로 올린 이미지는 계정 전용 업로드 폴더 아래 연/월 구조로 저장되고, 본문 HTML에는 업로드 코드와 소유자 정보가 데이터 속성으로 남는다. 이 방식은 나중에 첨부 파일 추적, 관리자 점검, 미디어 정리 기능을 붙이기 쉬운 구조다.

forum.netcity.co.kr 토론실 상세 화면 캡처
토론실 상세 화면. 관련 글/댓글을 하위 포럼보다 위에 배치하고, 하단에는 다음 단계 토론실 개설 버튼을 두었다.

상세 화면의 정보 순서도 조정했다. 토론실에 들어가면 사용자 입장에서는 하위 포럼보다 현재 토론실의 글과 댓글을 먼저 확인하는 것이 자연스럽다. 그래서 포럼 소개 다음에 관련 글/댓글이 먼저 나오고, 그 아래에 관련 하위 포럼이 나오도록 순서를 바꿨다. 1차 토론실 하단에는 2차 토론 개설 버튼이 있고, 2차 토론실 하단에는 3차 토론 개설 버튼이 나온다. 3차 토론실에서는 더 이상 하위 토론실을 만들 수 없도록 제한했다.


2페이지. 운영 화면, 실시간 숫자, 브랜드 경험까지 붙인 이유

포럼은 글을 쌓는 도구이지만, 운영자는 전체 흐름을 봐야 한다. 그래서 별도의 관리 대시보드를 만들었다. 좌측에는 운영 메뉴를 두고, 우측에는 포럼 수, 댓글 수, 숨김 상태, 카테고리 현황, 최근 활동이 나오도록 했다. 관리자는 주 메뉴를 추가하거나 수정할 수 있고, 포럼과 댓글의 공개/숨김 상태를 바꿀 수 있다. 이 대시보드 역시 흰 배경과 블루 계열 리스트를 유지하면서 카드와 그림자는 쓰지 않는 방향으로 맞췄다.

메인 화면의 숫자 표현도 단순 카운터에서 한 단계 더 올렸다. 전체 포럼 수, 1차 포럼 수, 댓글/대댓글 수, 최근 24시간 활동 수를 보여주는 데 그치지 않고, 오늘 추가된 포럼글과 오늘 추가된 댓글 수를 분리해 보여준다. 우측에는 떠 있는 현황 레이어를 배치했다. 전체 메인에서는 전체 기준 숫자가 나오고, 각 주제별 페이지에서는 해당 카테고리 기준 숫자가 나온다. 숫자는 축약 표기와 카운트업 효과를 적용했고, 변화가 생기면 증가분이 시각적으로 드러나도록 구성했다.

브랜드 요소도 따로 다듬었다. 로고는 CSS 조립형이 아니라 SVG 이미지형 워드마크로 교체했다. 네트워크 노드, 말풍선형 포럼 심볼, NETCITY/FORUM 워드마크를 넣어 포럼 사이트의 성격을 더 분명하게 했다. 파비콘도 로고 기반으로 SVG, PNG, ICO 세 가지를 만들어 적용했다. 검색은 초기에는 상단 우측 아이콘 패널 방식으로 구성했지만, 이후 로고 옆에 항상 보이는 단순 박스형 검색폼으로 바꿨다. 사용자가 메인이나 서브 페이지 어디에 있든 바로 검색할 수 있어야 하기 때문이다.

실시간성은 폴링 방식으로 구현했다. 최신 포럼이나 댓글이 추가되면 메인 리스트와 숫자 현황이 반응한다. 포럼 상세에서도 댓글 수와 댓글 목록, 하위 포럼 목록이 자동 갱신된다. 향후 트래픽과 요구가 커지면 SSE나 WebSocket 방식으로 확장할 수 있지만, 현재 단계에서는 안정성과 유지보수성을 고려해 폴링이 적절하다. 중요한 것은 사용자가 새 활동을 알아차릴 수 있는 인터페이스다. 숫자, 리스트 순서, 현황 레이어가 그 역할을 한다.

샘플 데이터도 각 주제별로 채웠다. 카테고리마다 주제에 맞는 포럼글을 2개씩 넣고, 각 포럼글에는 댓글 2개씩 등록했다. 우주/과학 메뉴에는 3차 토론까지 이어지는 예시도 추가했다. 덕분에 초기 화면은 비어 있는 게시판처럼 보이지 않고, 실제 포럼이 어떻게 확장되는지 바로 확인할 수 있다. 운영자 입장에서는 구조 검증이 가능하고, 방문자 입장에서는 참여 방식을 이해하기 쉽다.

이번 구축에서 가장 중요한 지점은 포럼을 ‘기능 목록’이 아니라 ‘운영 가능한 토론 인프라’로 다뤘다는 점이다. DB, 로그인, 권한, 에디터, 업로드, 실시간 현황, 대시보드, 로고, 파비콘, 검색, 푸터 정보까지 한 흐름으로 맞췄다. 그래서 forum.netcity.co.kr은 단순한 게시판보다 주제별로 성장하는 토론실에 가깝다. 앞으로 알림, 관리자 로그, 고급 검색, SSE 기반 라이브 업데이트, 미디어 관리 화면을 더하면 더 정교한 커뮤니티 플랫폼으로 확장할 수 있다.

정리하면 이번 포럼 구축은 세 가지 방향을 동시에 만족시키는 작업이었다. 첫째, 1차부터 3차까지 이어지는 다층 토론 구조. 둘째, 댓글과 대댓글 중심의 참여 흐름. 셋째, 운영자가 볼 수 있는 숫자와 상태, 그리고 사용자가 체감할 수 있는 브랜드 경험이다. 작은 게시판 하나를 붙인 것이 아니라, 넷시티 안에서 여러 주제의 토론이 자라날 수 있는 기반을 만든 셈이다.