제주 오름 100곳 등반 인증 사진을 OCR로 자동 검수하고, 배지·진행률을 자동 계산하는 관리자 콘솔을 Node.js + Express + PostgreSQL 기반으로 구현합니다.
제주 오름 100곳 등반 인증 사진을 OCR로 자동 검수하고, 배지·진행률을 자동 계산하는 관리자 콘솔을 Node.js + Express + PostgreSQL 기반으로 구현합니다. 소셜 로그인 회원 관리와 오름 정보 CRUD까지 포함한 API-first 백엔드·관리자 웹 풀사이클 구현한 프로젝트입니다.
작업 범위
주요 업무



Swagger 기반 API-first 설계와 주간 명세 동기화 프로세스로 대응할 계획
신뢰도 임계값 기반 자동/수동 검수 분기 로직 설계 필요
관리자가 사용자가 업로드한 등반 인증 사진을 검수 대기 목록에서 선택해 OCR 표지판 대조 결과와 함께 상세 패널에서 확인하고 승인·반려를 처리할 수 있는 화면.
OCR 인식 기반 표지판 텍스트 대조와 규칙 기반 필터링을 결합한 자동검수 파이프라인을 구현해 관리자가 애매한 건만 재확인하도록 설계합니다.


관리자가 제주 오름 100곳의 지역·난이도·테마·코스 정보를 등록·수정하고 태그를 관리하는 화면. PostgreSQL 스키마로 오름-코스-태그 관계를 정규화하고, CRUD 폼과 목록 검색·필터를 구현할 예정.
오름-코스-태그 관계형 스키마를 설계해 100곳 데이터를 다중 조건으로 검색·관리 가능한 구조를 구현합니다.


카카오·네이버 소셜 로그인으로 가입한 회원의 목록 조회, 상태(활성/휴면/탈퇴) 관리, 검색·통계를 처리하는 화면.
OAuth 2.0 소셜 로그인 콜백과 회원 상태 전이 로직을 결합해 안정적인 회원 관리 구조를 구현합니다.


등반 인증 승인 시 배지 지급 조건을 판정하고, 사용자별 챌린지 진행률(30곳/100곳 마일스톤)을 모니터링하는 화면.
인증 승인/반려 이벤트에 연동된 배지 지급·회수 로직을 트랜잭션으로 구현해 데이터 정합성을 확보합니다.


오름-코스-태그, 회원, 인증, 배지 등 핵심 테이블 정의 및 관계 매핑, ERD 설계
카카오·네이버 OAuth 연동, Express 기반 오름/회원 CRUD API 30여개 구현
OCR API 연동 자동검수, 배지 지급·회수 트랜잭션 로직 구현
React 기반 검수/오름/회원/배지 관리 화면 구현, API-프론트엔드 통합 검증