투표 · 커뮤니티

OG — 1:1 배틀 투표 웹앱

두 선택지를 놓고 투표하는 "배틀" 방식의 웹 서비스. 투표할 때마다 포인트가 쌓이고 다수파·소수파 여부가 기록됩니다.

how_to_vote Main Screenshot
OG 메인 화면 캡처 영역 (추후 교체 예정)

서비스 개요

OG는 두 선택지 중 하나를 고르는 1:1 배틀 형식의 투표 웹앱입니다. 로그인 없이 누구나 익명으로 참여할 수 있고, 투표할 때마다 1포인트가 쌓이며 자신이 다수파였는지 소수파였는지가 기록됩니다. 선택지마다 카테고리 태그가 붙어 누적 성향 통계를 확인할 수 있습니다.

기술적 접근

백엔드는 Node.js 20과 Fastify 위에서 PostgreSQL을 사용하며, Google OAuth와 JWT로 인증을 처리합니다. 프론트엔드는 React 18과 Vite로 구성했고, 자유 게시판인 '투표톡'에는 Tiptap 에디터를 적용해 이미지 업로드와 댓글·좋아요 기능을 지원합니다. 외부 사이트에 투표를 그대로 삽입할 수 있는 embed(iframe) 기능도 제공합니다. 인프라는 GCP Cloud Run과 Cloud CDN, Cloud Build로 구성된 CI/CD 파이프라인 위에서 운영됩니다.

주요 기능

how_to_vote 1:1 배틀 투표 — 로그인 없이 익명 참여 가능
military_tech 포인트 시스템 — 투표 1회당 1포인트, 다수파/소수파 기록
query_stats 카테고리 성향 통계 — 선택지별 태그 기반 누적 통계
forum 투표톡 게시판 — Tiptap 에디터, 이미지 업로드, 댓글·좋아요
code Embed 공유 — iframe 코드로 외부 사이트에 투표 삽입
admin_panel_settings 관리자 패널 — 배틀·카테고리·회원 관리

화면 갤러리

프로젝트 정보

서비스 URL og.j2w2.org
분류 투표 · 커뮤니티
Frontend React 18, Vite, React Router
Backend Node.js 20, Fastify, PostgreSQL
Infra GCP Cloud Run, Cloud CDN, Cloud Build
주요 기술
Google OAuth JWT Tiptap
사이트 방문하기 open_in_new