그룹 정보
한마당 시스템에 대한 의견, 추천, 아이디어, 제안들을 목적으로 한 그룹 입니다.
- 멤버: 7명
- proposal.hanmadang.net
- [email protected]
한마당 수정/제안
- 송
- 카
- 김
- 관
- 시
- 코
- D
- 멤버 7명
7
멤버0
공지0
포스트D김태형
2026-08-23 23:22당원 중심 정당 시스템 — 지역에서부터의 민주주의
지금 지역에서 정당 사람이 되려면, 아는 사람이 있어야 합니다.
지역에는 정당의 공식 창구가 없습니다. 공지창도, 인물 목록도, 민원을 받고 처리하는 절차도 없습니다. 공지는 단톡방과 밴드로 흩어지고 담당자가 바뀌면 사라집니다. 우리 지역에 누가 어떤 일을 하는지 알 방법이 없고, 주민의 요구는 어디까지 처리됐는지 아무도 추적하지 않습니다.
그 빈자리를 향우회와 동우회가 대신합니다. 연고가 있는 사람은 들어오지만, 온라인 세대는 들어올 문이 없습니다. 정치에 관심이 없어서가 아니라, 들어올 문이 없어서 못 오는 것입니다. 그 사이 지역 주민의 온라인 접점은 상업 플랫폼이 가져가고 있습니다 — 답할 사람이 없는 채로.
평상시에 사람이 드러날 판이 없으니, 인물 검증은 선거 직전에 소수가 짧게 합니다. 오래 일한 사람과 갑자기 나타난 사람을 구별할 기록이 당에 남아 있지 않기 때문입니다. 기록이 없으면 어떤 절차도 객관적일 수 없습니다. 확인할 수 없는 결정이 반복되는 조직을 민주적이라고 부를 수는 없습니다.
이것은 편의의 문제가 아니라 민주주의의 문제입니다.
그래서 다음을 제안합니다.
하나. 지역마다 세 개의 공식 창구를 만듭니다.
· 공지 — 당의 시스템에 기록으로 남고, 담당자가 바뀌어도 사라지지 않습니다. 공개 공지는 주민도 봅니다.
· 인물 — 지역별 인물 목록. 누가 어떤 일을 해 왔는지 활동 이력이 시간순으로 쌓입니다.
· 민원 — 접수→검토→처리→종결이 공개되고, 방치되면 방치된 것이 보입니다.
둘. 조직은 두 단계로 엽니다.
· 당원 그룹 — 당직자나 아는 사람들끼리 나눠 갖는 것이 아니라, 당원 누구에게나 열려 있습니다.
· 공식 위원회 — 당원의 공식 제안에 대해 중앙당·시도당이 합의해 설치합니다. 그룹 활동이 쌓이면 공식 위원회 설치를 제안할 수 있습니다.
아래에서 위로 올라오는 길을 시스템이 갖추는 것입니다.
셋. 검증은 기록으로 합니다.
인물마다 활동·글·처리한 민원이 본인 이름으로 쌓입니다. 점수·순위·추천은 없습니다 — 사실 기록만 쌓이고, 판단은 그 기록을 보는 사람이 합니다. 선거 직전에 몰아서 하는 검증이 아니라, 평상시 활동이 그대로 근거가 되는 방식입니다.
분명히 해 둡니다. 선거운동·경선·후보자 기능, 인물 서열화 기능은 전면 제외했습니다. 이것은 평상시 정당 조직 운영을 위한 도구입니다.
그리고 처음 만드는 것이 아닙니다. 시민정치마당(cpmadang.org)을 2015년부터 10년간 자체 개발·운영했고, 월 최대 30만 명 방문을 세 번의 전국 선거에서 견뎠습니다. 로그인 없이 지금 확인하실 수 있습니다.
· 2026 지방선거 당선인 명단 7,822명 : cpmadang.org/people/list_of_candidates_2026
· 지역 주민 페이지 실물 : hanmadang.net/regions/85
· 지역위원회 공식 사이트 샘플 : gmminju.hanmadang.net
당원 중심의 정당, 지역에서부터의 민주주의 — 구호가 아니라 시스템이 만들어내는 결과입니다. 어느 정당이든, 어느 지역위원회·부문위원회든, 어느 단위에서든 시작할 수 있습니다.
이슈1. 복수계정 가입 문제
이슈2. 게시물 관리 관련
요지 : 각 지역의 민주당 권리당원 및 평당원들의 온라인 공간 훼손 방지를 위한 대책을 세우기 위함
지역현안에 대한 신속하고 효율적인 논의, 당원들간의 정보공유 및 공감대 형성을 위한 당원들의 온라인 공간이 필요함에 따라 한마당은 그 역할을 할 수 있을 것이라 생각합니다.
다만, 온라인 공간의 특성상 특정할 수 없는 참여자가 복수의 계정으로 공간을 흔든다면 그 지역에서 활동하는 정상적인 민주당원들의 공간은 갈등과 반목이 발생할 것이며, 최종적으로는 서로가 신뢰할 수 없는 공간으로 오염될 것입니다.
우리가 온라인 커뮤니티마다 성격을 규정하고, 특정할 수 있는 것은 그 사용자듫의 게시글들을 보며 파악할 수 있습니다. 한마당은 각 지역의 민주당원들의 공간이자, 크게 전국 민주당원들의 공간으로 쓰여질 수 있을 것입니다.
특정 이슈마다 온라인 커뮤니티들은 몸살을 앓고 있는데, 오염시킬 목적으로 가입한 특정 회원이 온라인의 익명성 뒤에 숨어 네거티브를 일삼을때 기존 회원들은 그 회원들의 가입이력이나 게시물 이력을 확인합니다.
문제는 여기서 대부분 그러한 사용자들은 자신들의 게시글을 작성하고, 삭제하고를 반복합니다.
댓글을 통해서도 부정적인 행위들을 일삼기도 합니다..
이러한 부분을 막기 위해 운영진이 대부분 통제하기도 하지만, 이 공간은 당원 스스로가 성숙해질 수 있도록 스스로의 판단에 맡겨 자동으로 정화될 수 있도록 시스템을 갖춰야한다고 생각합니다.
그러기 위해서는 무엇보다 서로가 서로를 쉽게 식별할 수 있도록 해야한다고 생각합니다.
그 방법은 다음과 같습니다.
- 회원의 개인정보를 열람할때 그 개인이 작성한 게시글과 댓글을 볼 수 있도록 해야합니다. 삭제한 게시물과 댓글도 내용은 지우더라도 그 활동로그는 남겨두어여 합니다.
- 대부분 게시판에 게시뭂들이 스택을 이룰때 삭제하면 보이지 않게 되는데, 여기는 보이지 않는게 아니라 삭제줄을 두고, 게시물의 내용은 지우되 누가 지웠는지 기록으로 한 줄 남기도록 해야합니다. 댓글도 마찬가지라고 생각합니다. 그래야 특정한 회원이 썼다 지웠다를 반복한다면 그 사람에 대한 이상활동을 모두가 감지하고, 각자가 거를 수 있을 것이라 생각합니다.
- 복수계정의 가입문제인데, 이는 비용 문제도 발생할 것이고 다양한 방법으로 들어오겠지만, 그래도 최소한의 본인인증 절차를 거치고, 휴대폰 인증까지도 가능하다면 인증하도록 가입절차를 만드는 것입니다. 지역당원이라면 어떠한 사법적인 문제가 발생했을때 회원정보의 연락처를 통해 지역위원회에서 별도로 연락을 취할 수 있도록 방비를 하는 것도 좋지 않을까 싶습니다.
여기까지가 제 생각입니다. 이 생각의 배경에는 민주당원들 스스로가 참여하고, 의견을 조정하고, 어떠한 외부적 위협에도 스스로 막아낼 수 있는 능력을 키우는 것을 만드는 것이 그 커뮤니티가 오염되지 않고, 지속발전이 가능하지 않을까 하는 생각에서 비롯된 것입니다. 적어도 한마당은 지역위원회 또는 당 조직의 담당자가 관리하는 수직적 공간이 아닌 수평적 공간으로 스스로 참여하여 당원의 권리를 모두 함께 누리자는 취지이기도 합니다.
제가 개발자는 아니니 참고용으로만 봐주시면 좋을 것 같습니다.
한마당의 발전을 빕니다.
D김태형
2026-08-08 22:04이 페이지에 대한 의견 부탁드려요..
관련 인물은 1명만 링크 되네요..
김태형
2026-08-05 10:19한마당.NET — 이게 뭘 하는 물건인가
한 줄로 말하면 "지역에 뿌리내린 시민 참여 네트워크" 입니다. SNS의 소통, 청원 사이트의 행동, 정치인 정보 DB, 지역 커뮤니티를 하나의 지역 축으로 꿰어 놓은 것이 핵심입니다.
- 콘텐츠 — 말하기
담소: 짧은 타임라인 글. 내부적으로 한 테이블(STI)에 토픽·서명운동·투표·정책제안·품앗이·공약까지 다 담습니다. 추천/비추천·찜하기·댓글·태그.
포스트(블로그): 개인의 긴 글. 글타입(서명운동/투표 등)으로 확장. 개인 도메인 성격.
둘 다 이번에 추천·찜·주소복사 UI를 세로 레일/아이콘으로 통일했습니다.- 조직 — 모이기
그룹: 참여연대처럼 서브도메인(pspd.hanmadang.net)을 가진 단체 공간. 자체 메뉴·공지·담소·멤버.
지역: 광역>기초 계층 + 이번에 해외>나라까지. 지역 페이지가 그 동네의 담소·인물·그룹·일정·회원·통계를 한눈에 모읍니다.- 정치 — 알기 (여기가 한마당의 진짜 차별점)
인물 디렉토리: 국회의원·광역/기초의원·광역/기초단체장(이번에 245명 신규). 담소/프로필/공약 3탭.
공약: 시민정치마당(cpmadang)에서 이름+지역구로 매칭해 후보 공약을 인물 페이지로 가져옵니다(수만 건).
선거공보물: 후보 huboId로 PDF까지 연결.
데이터 파이프라인: laiis(행안부)→fastapi→hanmadang→cpmadang 4단계 수집.- 행동 — 하기
서명운동·투표·정책제안·품앗이(재능나눔). "글"이 곧 "행동 장치"가 됩니다.- 그릇 — PWA·SEO·AEO
모바일 앱 설치(PWA), 검색엔진·AI 답변엔진(AEO) 최적화(구조화 데이터·사이트맵).
그 의미 — 왜 이게 중요한가
정치 정보의 비대칭을 깬다. 내 동네 구청장이 누구고 뭘 공약했는지, 흩어진 선관위·언론 정보를 한 곳에 모아 시민 눈높이로 보여줍니다. "투명성의 인프라"입니다.
'지역'을 축으로 삼았다. 대부분의 정치 서비스가 인물·이슈 중심인데, 한마당은 내가 사는 곳을 중심에 둡니다. 참여의 문턱이 낮아집니다("우리 동네 일").
소통에서 행동으로 이어진다. 글을 읽다가 그 자리에서 서명하고 투표합니다. 여론이 데이터로 축적됩니다.
풀뿌리 자립. 그룹이 자기 서브도메인·메뉴를 갖고 독립 운영합니다. 중앙이 아니라 분산.
AI 시대 대비(AEO). 사람뿐 아니라 AI 답변엔진이 "이 지역/이 정치인" 질문에 한마당을 근거로 답하도록 설계 — 미래 트래픽의 관문.
한 문장으로: "지역 민주주의를 위한 오픈 인프라" 를 지향합니다.남은 과제 (우선순위 순)
🟠 기능 미완댓글 이미지 첨부 — 요청됐으나 미착수. 마이그레이션 + 업로드 + 표시 필요.
지역 홈페이지·의회 링크 임포트 완성 — 인프라(컬럼·임포터·표시)는 됐지만 test.json이 부산 연제구에서 잘려 246개 중 극소수만 채워짐. 완전한 JSON 파일만 주시면 regions:import-urls 한 번으로 전국 반영.
로그인 필요 화면 육안 점검 — 프로필 편집의 지역 2단 선택·헤더 색상, 그룹 설정 헤더 색, /admin/posts. 새벽 작업이 배포·문법검증만 됐고 실제로 열어본 확인이 안 됨.
🟡 운영 자동화
4. 정기 동기화 스케줄 등록 — people:sync·people:sync-policies·people:fetch-bulletins가 지금 수동 실행만. cron/스케줄러에 등록해야 인물·공약·공보물이 자동 갱신됨(현재 스케줄은 feed:pspd 하나뿐).
5. 검색 등록 마무리 — Cloudflare 봇 차단은 해결됨. Bing(메타 방식)·Google(sitemap 재제출) 재검증만 남음.
6. AEO 정책 확정 — 검색봇은 허용됐고, GPTBot 등 AI 크롤러를 계속 허용할지(트래픽 vs 콘텐츠 보호) 결정.🟢 정리·검증
7. 데이터 중복 정리 — 오래된 중복 담소 2쌍(#131/#132, #35/#36). 남의 글이라 미삭제 상태.
8. 관리자 주소 혼선 — 회원=/admin/people, 인물=/admin/persons/people 로 헷갈림. 통일 권장.
9. 찜하기·추천 실사용 검증 — 기능은 배포됐으나 실제 사용 0건. 로그인 상태에서 동작 확인 필요.🔵 인프라 백업
10. cpmadang·fastapi 코드 백업 — hanmadang은 이번에 git 자동 백업이 걸렸지만, cpmadang 모듈과 fastapi 수집기는 아직 로컬 미러 + 서버에만 있음(원격 백업 없음). 이 둘도 git 원격 백업 권장.
김태형
2026-08-04 23:45오늘 한 것.
전체 페이지 200, 에러 0건, /install 404 확인했습니다. 정리해 드립니다.
✅ 처리한 것
긴급 (운영 장애·보안)내용
🔴 /install 설치 마법사가 인터넷에 열려 있었음 — installed.lock은 있었지만 검사 미들웨어가 만들어지지도 등록되지도 않은 채 배포. POST /install은 .env와 관리자 계정을 새로 씀 → 404로 차단
🔴 태그 페이지 전체 500 (오늘 에러 6,633건) — suggest() 추가하며 show()가 옛 버전으로 되돌아가 뷰가 기대하는 $feed를 안 넘김 → 자동완성 유지한 채 복구
🔴 /user/50/damso 500 — 포스트 탭 정리 중 blog.show로 가는 feed까지 지운 제 회귀. 즉시 복구
🔴 담소 이중 저장 — 게시 버튼 이중 클릭으로 같은 글이 2벌씩 저장(4쌍 확인). 서버(같은 본문 1분 내 재전송 차단) + 프론트(제출 시 버튼 8초 잠금) 양쪽 차단, 오늘 생긴 중복 2건 삭제
URL 구조서명운동 포스트(slug 397) 주소를 공약 담소(id 397)가 가져가던 충돌 → slug 우선으로 정리
공약에 고유 주소 부여: /people/{slug}/policies/{id}, 담소 주소로 오면 301 리다이렉트 → 담소·프로필·공약이 각자 주소를 가짐
화면인물 타이틀 경기도 도지사 추미애 - 한마당
인물 헤더: 선거공보·선관위 버튼을 이름·직함과 같은 줄 오른쪽 정렬
헤더 배경색을 각자 선택 (프로필 편집 / 그룹 설정 / 인물은 관리자, 8색 팔레트. 인물 미선택 시 정당색, 그룹 미선택 시 종전 그대로)
사진 여러 장 → 메이슨리(세로 빈칸 제거), 모바일은 한 장씩 전체 폭
아바타: 담소 카드·댓글·계정 메뉴에 프로필 사진(흑백) 표시
프로필 지역 → 시/도 → 시/군/구 2단 선택(없던 캐스케이드 JS 포함)
프로필 '포스트' 탭에서 담소 제외
"최근 일정" 카드에 /calendar 더 보기
커밋 8개 (7f599f9 → 29bd4b5)📋 남은 것
내용
1 댓글 이미지 첨부 — 방금 지시하신 것, 미착수(마이그레이션 + 업로드 + 표시 필요)
2 지역 URL 임포트 — 246개 중 homepage_url 1개뿐. regions:import-urls 매칭 확인 필요
3 미커밋 83개 — 인물·품앗이·찜하기 등 사무실 작업 대부분. HEAD와 운영 코드가 벌어져 롤백 불가
4 정기 동기화 미등록 — people:sync, people:sync-policies, people:fetch-bulletins는 수동만 (스케줄은 feed:pspd뿐)
5 오래된 중복 담소 2쌍(#131/#132, #35/#36) — 남의 글이라 안 지웠습니다
6 관리자 주소 혼선 — 회원=/admin/people, 인물=/admin/persons/people
7 포스트 찜하기·추천 실사용 0건 — 동작 확인 필요
제가 눈으로 못 본 것: 로그인이 필요한 화면(프로필 편집의 지역 2단 선택·헤더 색, 그룹 설정의 헤더 색, /admin/posts)은 배포·문법 검증만 했습니다. 한 번씩 열어봐 주세요.
D김태형
2026-08-04 18:16이 페이지 에러 있음..
내가 찜한 그룹은.. 그룹에서.. 담소가 올라오면.. 실시간으로.. 보이게 해 줘