[유료] Discourse 커뮤니티 플랫폼 - v2 개발

안녕하세요 — 커뮤니티 플랫폼을 출시할 수 있도록 도와줄 경험이 풍부한 Discourse 개발자를 찾고 있습니다. 인스턴스는 이미 라이브 상태이며 '커스텀 테마’가 적용되어 있습니다(디자인 레이어만, Discourse 관리자 패널의 Head, CSS/JS 탭 및 .Nav 주입을 통해 색상, 폰트, 내비게이션 바 구현) - 구조화된 테마 컴포넌트는 아닙니다. 처음부터 구축하는 것이 아니라, 디테일을 올바르게 잡는 것이 중요합니다.

고정 가격 제안서를 환영합니다 — 마일스톤 단위로 분할 결제할 예정입니다.

필요한 내용은 다음과 같습니다:

기존 테마 이미 커스텀 테마가 적용되어 있지만, 엄밀한 의미의 '테마’라기보다는 디자인 레이어(색상, 폰트, JS를 통한 내비게이션 주입)에 그칩니다. 내비게이션 및 라이트/다크 토글(토큰 세트)은 최근 두 번의 업데이트에서 문제가 없었습니다. 여기서는 모든 페이지 유형과 두 가지 모드에서 일관된 렌더링을 확인하는 간단한 감사(audit), Discourse 기본값으로 폴백되는 요소의 간극을 수정하고, 최종 로고 자산(제공 예정)을 교체하는 것이 목적입니다. 재작성이 아니라 QA 패스와 정리에 가깝습니다.

멤버 포털 페이지 멤버의 유형(Owner, Member, 또는 Dealer), 차량 정보, 인증 상태 필(pill), 언어 선택기가 표시되는 커스텀 프로필 페이지를 원합니다. 페이지에 표시되는 리소스 링크는 조건부여야 합니다. 예를 들어, 소유자는 잠재적 멤버와 다른 도구를 보게 됩니다. 라이트와 다크 상태 및 모든 멤버 유형 뷰를 보여주는 전체 인터랙티브 목업을 제공하겠습니다.

페이지에는 멤버가 Discord와 Facebook OAuth를 통해 인증할 수 있는 연결된 계정(Connected Accounts) 패널도 필요합니다. 인증 성공 시 플랫폼 ID와 사용자명이 Supabase에 다시 기록됩니다(자격 증명과 스키마 제공). OAuth 앱은 설정되어 있으며, Discourse 측 컴포넌트와 콜백 로직을 깔끔하게 연결해 주시면 됩니다.

언어 및 번역 커뮤니티는 국제적이므로 이 부분이 중요합니다. 멤버가 선호 언어(영어, 태국어, 체코어, 네덜란드어, 독일어, 뉴질랜드 영어)를 선택하면 메뉴, 알림, 시스템 메시지 등 Discourse UI 전체가 해당 언어로 전환되어야 합니다. 첫 방문 시 IP를 통해 국가를 감지하고 확인을 요청합니다. 또한 Discourse Translator 플러그인을 설치하고 DeepL API 키(제공 예정)로 구성하여, 게시글별 번역 버튼을 활성화하고 API 비용을 절감하기 위해 게시글 ID 기준으로 번역을 캐시해야 합니다. 멤버 포털(Discourse 네이티브 버튼으로도 접근 가능해야 함)을 포함한 정적 페이지도 선택된 언어로 렌더링되어야 합니다.

신뢰 수준, 그룹 및 Tally 통합 카테고리 구조는 작업 시작 전에 준비되어 있을 것입니다. 필요한 것은 신뢰 수준과 그룹 구성을 올바르게 연결하는 것입니다. 멤버 유형(Owner, Member, Dealer)이 가입 시 할당되고, 그룹이 올바른 카테고리 권한에 매핑되며, 모든 변경 사항이 Supabase에 동기화되어야 합니다. 또한 임베드된 Tally 양식에서 숨겨진 미리 채우기 필드로 캡처할 수 있도록 discourse_user_id와 discourse_username을 URL 매개변수로 노출해야 합니다.

DVLA 검증 게이트 소유자 전용 카테고리는 차량 검증 뒤에 게이트되어야 합니다. 미인증 멤버가 접근을 시도하면 등록 번호를 입력하도록 유도하는 프롬프트가 표시됩니다. 검증 엔드포인트는 제가 직접 구축합니다(Cloud Run, REST — 완전 문서화 및 제공 예정)므로, 여기서는 Discourse 테마 컴포넌트만 담당하시면 됩니다: 게이트된 랜딩 화면, VRM 입력 폼, 성공/오류 상태. 이 부분은 특히 Discourse의 Ember 기반 테마 컴포넌트 JS에 익숙한 분이 필요합니다.

XCombo 토픽 또 다른 컴포넌트 — 제가 유지 관리하는 데이터 세트에 대한 참고 자료이자 토론 공간으로 사용되는 단일 Discourse 토픽입니다. 첫 번째 게시글은 고정되어 있으며 임베드된 검색 위젯(Supabase 테이블에서 실시간 필터링), “전체 목록 이메일로 보내기” 버튼(제공된 엔드포인트를 호출하여 Resend가 멤버의 등록된 주소로 PDF를 전달), 아래 열린 토론 스레드로 내려가는 앵커 링크를 포함합니다. 마찬가지로 검색 로직, 엔드포인트, Resend 통합은 모두 제공되며, Discourse 측 컨테이너만 연결해 주시면 됩니다. 이를 통해 멤버 전체 플로우(포털 → 리소스 링크 → 토픽 → 검색 → 이메일)를 파악할 수 있습니다.

수주 시 모든 자산, 자격 증명, Supabase 액세스 권한 및 문서를 제공하겠습니다. 필요하시면 직접 설명해 드릴 수도 있습니다. 특히 Discourse에서의 OAuth 통합 경험과 이전에 Ember 기반 테마 컴포넌트 작업 경력이 있는지 알려주시기 바랍니다.

감사합니다

명확성을 위해 편집함

1개의 좋아요

@larrybmb 님 안녕하세요

이것은 사실 작은 프로젝트가 아니며, 설명을 들어보면 헤더 교체 구성이 다소 불안정해 보입니다. 포럼이 최신 Discourse 업데이트를 최소한의 노력이나 수정 없이 받을 수 있도록 해야 합니다.

그러면 250달러가 각 결제마다의 금액인가요?

5개의 좋아요

마일스톤별인지 시간당인지요?

4개의 좋아요

릴리, 빠른 답변 감사합니다. — 명확히 하자면: 250달러는 프로젝트 총 예산의 시작점이었지만, 적합한 분을 찾으면 예산에 유연하게 대응할 준비가 되어 있습니다. 범위가 상당히 명확하게 정의되어 있으므로, 필요 시 마일스톤에 따라 지급 프로파일을 분할한 고정 가격 제안도 환영합니다.

헤더 교체에 관한 말씀에 대해 말씀드리자면, 구조적인 작업을 요청하는 것이 아닙니다. 기존 테마는 디스코어(Discourse)의 핵심 템플릿을 대체하지 않습니다. JS를 통해 커스텀 내비게이션을 주입하는 테마 컴포넌트이며, discourse:ready 및 페이지 변경 이벤트에 후킹(hooking)되어 있습니다. 정상적으로 작동하며, 최소한 이전 두 번의 디스코어 업데이트를 거쳤다는 점을 확인할 수 있습니다. 요청 사항은 단순히 모든 페이지 유형에서 올바르게 렌더링되는지 확인하고 누락된 부분을 수정하는 것입니다. 현재 상태로는 업데이트에 안전해야 하지만, M1의 일환으로 검토하는 데도 문제가 없습니다.

도움이 되셨기를 바랍니다.

1개의 좋아요

Richard님, 빠른 답변 감사합니다. — 명확히 말씀드리면, $250는 프로젝트 총 예산의 시작점이었습니다. 다만, 적합한 인물을 찾게 된다면 예산에 유연하게 대응할 준비가 되어 있습니다. 범위가 상당히 명확하게 정의되어 있으므로, 필요할 경우 마일스톤별로 분할 지급하는 조건으로 고정 가격 제안서를 받아보겠습니다.

이 정보가 도움이 되길 바랍니다.

최소 2,500달러는 들겠지만, 아마 그 두 배 정도가 될 겁니다. 기존 테마가 어떻게 동작해야 하는지 파악하고 discourse 표준에 맞게 재작성하는 것만으로도 500달러 정도는 들 것 같습니다.

행운을 빕니다.

4개의 좋아요

제이, 안녕하세요 — 명확히 하기 위해 말씀드리면, 기존 테마의 재작성을 요청하는 것이 아닙니다. 현재 사용 중인 테마 파일에는 꽤 만족하고 있습니다 (실제로 테마 변경이라기보다는 디자인 파일에 가깝고, 참고용으로 제공될 예정입니다) — 견고할 것이라고 생각하지만, 주요 요청 사항은 멤버 프로필 페이지 및 관련 플로우의 개발입니다. 테마 관련 부분은 단순히 "한 번 살펴보고, UI에서 부족한 점을 찾아 피드백해 달라"는 취지였지, 재작성과는 전혀 무관합니다.

초기 예산이 많은 분들께는 낮게 느껴질 수 있다는 점에 공감합니다. 이는 협상을 위한 출발점으로 의도된 것입니다. 관심 있는 분께는 기술적 세부 사항과 파일을 포함한 전체 스펙을 공유할 수 있으며, 게시물에 이를 담아두려고 노력했습니다.

1개의 좋아요

여러분의 소중한 의견에 진심으로 감사드립니다. 많은 도움이 되었습니다. 댓글을 바탕으로 게시물을 수정하고, 내용을 좀 더 명확히 정리했습니다.

구체적으로 말씀드리면 다음과 같습니다:

기존 테마 파일은 디자인 계층(색상, 폰트, 내비게이션 주입)에만 해당하며, 구조적 템플릿 오버라이드가 아닙니다. Discourse의 핵심 템플릿은 수정되지 않았습니다. 구조적 변경을 요청하는 것이 아니라, 간단히 검토하여 UI상의 누락된 부분을 식별하고 피드백을 주시길 바라는 것입니다.

제 주요 요청 사항은 멤버 프로필 페이지 및 관련 플로우의 개발입니다. 관심 있는 분들의 고정가 제안 환영합니다. 이전에 제시했던 시작 가격이 다소 낮았을 수 있다는 점을 고려하여 해당 금액을 삭제했습니다.

1개의 좋아요

명확한 작업 범위가 없기 때문에 고정 가격을 제시하기에는 다소 모호합니다. 하지만 댓글들을 읽어보면 최소 $5,000~$8,000 범위로 예상합니다. 사양에 대해 합의할 수 있다면 더 낮아질 수도 있지만, 이는 귀하가 제안한 $250보다 훨씬 높은 금액입니다. 더 논의하고 싶으시다면 제 프로필에 연락처가 있습니다.

2개의 좋아요

@larrybmb 안녕하세요, 범위와 구현 전제 조건에 대한 상세한 실행 가능성 검토 및 몇 가지 확인 사항을 DM으로 보내드렸습니다. 확인해 주시면 추가 논의도 기꺼이 하겠습니다.

1개의 좋아요

명확히 말씀드리자면, core.scss, nav.scss, nav.js는 디스커스 테마나 테마 컴포넌트에서 예상하기 어려운 파일 이름입니다. 따라서 여러분이 하신 작업이 유지보수가 어렵거나, 여러분이 요청하신 다른 기능들과 호환되지 않을 가능성이 매우 높습니다. "디스커스 코어 템플릿은 수정되지 않았다"고 언급한 것은, 여러분이 디스커스 프로그래밍 표준을 따르지 않았음을 시사합니다.

2개의 좋아요

제이, 정말 유용한 피드백을 주셔서 감사합니다. 이 파일들은 하청 업체에서 만든 것이었고 솔직히 말씀드리면, 그들이 디스코urs 테마 규약을 제대로 따랐는지 저는 잘 모르겠습니다. 그래서 경험이 있는 사람이 이를 검토해 주었으면 하는 부분이기도 합니다. 만약 적절한 테마 컴포넌트 형식으로 재구조화가 필요하다면, 그 부분은 별도로 지적하고 범위를 명확히 해 주셨으면 합니다. 이는 추가적인 노력이 필요하므로, 이번 계약 범위 내에서 반드시 수행해야 할 사항은 아닐 수 있다고 생각합니다.

구체적으로 설명하자면, 구현 파일은 제가 제공받은 것이며, 저는 관리자 패널의 head, JS, CSS 탭을 통해 이를 추가했습니다. 따라서 엄밀히 말해 구조화된 테마 컴포넌트 형식은 아닙니다.

피드백에 감사드립니다.

2개의 좋아요

하지만 깨진 기반 위에 건물을 세우고 싶지는 않을 것입니다.

만약 그게 작업의 전부였다면, 그리고 당신이 취미로 하는 사람이었다면 아마 괜찮았을 것입니다.

1개의 좋아요

여기가 그런 상황이라고 단정 짓지는 않겠지만, 코딩에 대해 잘 모르는 것으로 보이는 이른바 개발자들이 작성한 엉망진창의 '바이브 코드(vibe-code)'를 기반으로 개발하거나 수리해 달라는 개발자들의 증언이 점점 더 많이 들려오고 있습니다. 어쨌든, 그런 점에는 주의할 필요가 있습니다.

3개의 좋아요

@pfaffman

조언해 주셔서 감사합니다. 관심 있으시면 파일을 비공개로 공유할 수 있습니다. 취미로 하는 사람이 아니라 자동차 분야에서 활동하는 스타트업입니다. 백엔드 파이프라인은 안정적이며, 아키텍처 및 보안 검토를 마친 상태입니다. GCP에 호스팅되어 있고, 디스커스 인스턴스는 Hostinger에서 클라우드 호스팅으로 운영되고 있습니다.

전문 개발자라고는 할 수 없지만, 지난 10년간 스스로 많은 것을 배워 왔기 때문에 여기에서 도움을 요청하고, 언제 아웃소싱을 해야 하는지 알고 있습니다.

잠깐, 제 생각을 말로 풀어볼게요. 제 사용 사례에 실제로 커스텀 OAuth가 필요한 걸까요?

네이티브 연결된 계정을 회원 프로필 페이지로 가져온다면 동작할 것 같습니다 — 복사된 텍스트를 조정할 수 있다면요. (예: 제 커뮤니티의 Joe Bloggs가 제 Facebook 커뮤니티에서 상호작용하는 jo bloggs와 같은 사람인지 알고 싶습니다. Facebook 앱 개발자를 통해 facebook_id를 추출합니다 — 따라서 이것이 동일한 식별자라면(그렇다고 생각하는데?) 맞춤형 브랜딩을 추가하여 사이트의 통합된 일부처럼 보이게 할 수 있을 것 같습니다.)

여러분의 의견을 환영합니다.

1개의 좋아요

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.