← WORK 목록으로
KOREA위시켓웹 개발

기업-전문가 거리 기반 자동 배정 시스템 개발(기존 시스템 연동) 전문가

운영 중인 WordPress 기반 관리시스템에 기업-전문가를 주소 거리순으로 자동 매칭하는 배정 엔진을 개발해 연동하는 백엔드 프로젝트입니다. 주소 지오코딩·데이터 정제, 근접 기업 2~3개 묶음 배정, 같은 도 내 균등 배분, 동시성 중복 방지, 엑셀 실적 데이터 이관, 기존 DB 연동까지 화면 개발 없이 백엔드 한 벌을 구축합니다. 거리와 균등 배분이 충돌하는 최적화 로직 설계와 레거시 DB 연동 경험이 있는 백엔드 개발자에게 적합합니다.

2026.08.12VIEW 161위시켓에서 수집
Budget8,000,000원
Difficulty고급
Duration1~1.5개월
Work style외주
Required stack

필요 기술

PHPMySQLWordPressAWSREST APIGeocoding API
Project brief

프로젝트 내용

[프로젝트 개요]
운영 중인 관리시스템에 기업과 전문가를 주소 기반 거리순으로 자동 매칭하는 배정 엔진을 개발해 연동하는 프로젝트입니다. 배정 결과를 기존 데이터베이스에 반영해 전문가가 홈페이지에서 본인 배정 기업을 바로 조회할 수 있게 합니다. 화면 개발 없이 백엔드 한 벌을 구축합니다.

[추진 배경과 시점]
현재는 담당자가 기업 위치를 지도에서 하나씩 검색하고 가까운 전문가를 눈으로 판단해 시스템에 입력하고 있습니다. 전문가별 월별 배정 건수와 진행 상황도 시스템이 아니라 별도 엑셀로 관리되고 있어, 누구에게 배정이 몰리는지를 매번 사람이 대조해야 합니다. 배정 결과를 조회하는 화면과 수동으로 배정을 입력하는 화면은 이미 갖춰져 있으나, 누구에게 배정할지를 정하는 판단 자체가 시스템화되어 있지 않습니다. 이번 프로젝트는 그 판단 부분을 자동화해 담당자의 수기 검색과 입력을 없애는 것이 목적입니다.

[난점과 경위]
이 프로젝트의 핵심 난점은 거리와 균등 배분이 서로 충돌하는 목표라는 점입니다. 가까운 순으로만 배정하면 특정 지역 전문가에게 물량이 몰리고, 건수를 고르게 나누면 이동 거리가 나빠집니다. 어느 쪽을 어디까지 양보할지가 이번 설계의 중심이며, 정답이 하나로 정해져 있지 않아 실제 데이터로 결과를 확인하며 조정하는 과정이 필요합니다. 여기에 기업을 한 건씩이 아니라 근접한 것끼리 2~3개로 묶어 배정한다는 조건이 더해져, 묶는 단계와 배분하는 단계가 서로 영향을 줍니다. 배정이 자동으로 확정되어 데이터베이스에 반영되므로 사람이 중간에 걸러내는 단계가 없다는 점도 함께 고려해야 합니다.

[요구사항]
화면 개발 없이 배정 엔진과 연동 백엔드 한 벌이며, 다루는 데이터는 기존 시스템의 기업·전문가·신청 데이터와 현재 엑셀로 관리 중인 배정 실적 데이터입니다.

주소·거리 처리
- 기업과 전문가의 주소를 좌표로 변환하고 결과를 저장해 재사용합니다.
- 도로명·지번 혼재, 구주소, 표기 오류, 누락 등 실제 주소 데이터를 정제하는 처리를 포함합니다.
- 변환에 실패한 주소를 확인하고 보정할 수 있는 경로를 제공합니다.
- 좌표 기준으로 전문가를 거리가 가까운 순으로 정렬합니다.

배정 엔진
- 근접한 기업 2~3개를 하나로 묶어 전문가 1명에게 배정합니다.
- 같은 도에 속한 전문가 사이에서 배정 건수를 고르게 배분합니다.
- 배정 건수가 비슷한 경우 진행 중 건수가 적은 전문가를 먼저 배정합니다.
- 묶는 거리 기준과 균등 판정 기준은 착수 단계에서 확정합니다.

데이터 연계
- 기존 데이터베이스의 기업·전문가·신청 데이터 구조를 파악하고 매핑합니다.
- 현재 엑셀로 관리 중인 전문가별 월별 배정 건수와 진행 상황을 시스템으로 이관합니다.
- 좌표와 묶음 정보는 운영 테이블 변경을 최소화하도록 별도 테이블로 관리합니다.

배정 확정·반영
- 배정 결과를 기존 데이터베이스에 기록해 전문가가 홈페이지에서 본인 배정 기업을 조회할 수 있게 합니다.
- 여러 신청이 동시에 처리될 때 배정이 중복되거나 균등 배분 상태가 어긋나지 않도록 데이터베이스 수준에서 차단합니다. 구체 처리 방식은 제안사가 정합니다.
- 자동 배정이 불가능한 건은 대기 상태로 전환하고 담당자가 확인할 수 있게 합니다.
- 잘못 배정된 건이나 전문가 사정이 바뀐 건을 되돌리는 처리를 제공합니다.

검증·전환
- 실제 데이터로 기존 수기 배정 결과와 대조해 배정 품질을 확인하고 규칙을 조정합니다.
- 기존 서비스 환경에 배포하고 연동 상태를 검증합니다.

[사용자 스토리와 수용 기준]
담당자로서 지도를 일일이 검색하지 않고 배정이 자동으로 이루어지기를 바랍니다. 수용 기준: 신청 건이 접수되면 담당자 조작 없이 배정이 확정되고 기존 시스템에 반영된다.

전문가로서 홈페이지에서 본인에게 배정된 기업을 확인하고 싶습니다. 수용 기준: 배정 확정 직후 홈페이지의 기존 조회 화면에서 해당 기업이 조회된다.

담당자로서 특정 전문가에게 물량이 몰리지 않기를 바랍니다. 수용 기준: 같은 도 안에서 전문가별 배정 건수 차이가 합의된 허용 범위 안에 유지된다.

담당자로서 자동 배정이 안 된 건을 놓치지 않기를 바랍니다. 수용 기준: 배정 불가 건이 대기 상태로 남고 확인할 수 있다.

[업무 상태 흐름]
신청 접수 후 배정 대상으로 선별되고, 근접 기업끼리 묶인 뒤 전문가가 지정되어 배정 확정 상태가 됩니다. 확정된 건은 전문가 조회 대상이 되며 진행 중으로 관리됩니다. 자동 배정 조건을 만족하는 전문가가 없으면 확정되지 않고 대기 상태로 전환됩니다. 확정된 건도 오배정이나 전문가 사정 변경 시 회수되어 재배정 대상으로 돌아갑니다. 각 상태의 명칭과 기존 시스템 상태값과의 대응은 착수 단계에서 확정합니다.

[비기능 요구]
- 배정 결과에 기업별 선정 전문가, 거리, 적용된 판단 근거가 남아 담당자가 확인할 수 있어야 합니다.
- 동시 처리 시 배정 중복이 발생하지 않아야 합니다.
- 운영 데이터베이스에 대한 변경 범위를 최소화해야 합니다.

[외부 연동]
- 주소를 좌표로 변환하는 외부 지오코딩 서비스 연동이 필요합니다. 특정 서비스 지정은 없으며 제안사가 제안합니다.

[스코프 밖]
- 관리자 화면 일체. 전문가 명단과 배정 가능 여부 변경은 데이터베이스 직접 처리, 대기·오배정 건 처리는 기존 수동 배정 화면을 이용합니다.
- 기존 홈페이지의 전문가 조회 화면 신규 개발 및 개편.
- 지도 위에 위치를 표시하는 화면.

[추가 도입 검토 항목]
아래는 이번 범위에 포함되지 않으나 발주처가 견적을 보고 도입 여부를 판단할 항목입니다. 나중에 추가될 수 있으므로 확장 가능한 구조로 설계해 주시고, 제안 시 개략 규모를 함께 제시해 주시기 바랍니다.
- 전문가 명단·소속 지역·배정 가능 여부를 관리하는 화면
- 전문가별 배정 현황과 균등 배분 상태를 확인하는 화면
- 자동 배정 실패 건 처리와 수동 재배정 화면
- 배정 사유 이력 조회와 기간별·지역별 배정 통계
- 묶음 거리 기준과 균등 허용 편차를 화면에서 조정하는 기능
- 배정 시 전문가에게 자동 알림 발송

[제약 사항 및 확인 필요]
아래는 착수 전 협의로 확정합니다. 제안 시 확정된 값을 전제하지 마시고 판단 근거를 밝혀 주시기 바랍니다.
- 근접 기업을 묶는 기준. 반경 거리, 동일 시·군, 이동 시간 중 어느 것을 쓸지 미정입니다.
- 균등 배분의 판정 주기와 허용 편차. 월 단위인지 누적인지, 몇 건까지 차이를 허용할지 미정입니다.
- 거리와 균등 배분이 충돌할 때의 우선순위.
- 거리 기준. 직선 거리인지 실제 도로 이동 거리인지에 따라 외부 서비스 호출 규모가 달라집니다.
- 배정 실행 시점. 신청 발생 시 즉시인지 일 단위 일괄 처리인지 미정입니다.
- 전문가 1인당 일일 배정 한도 운영 여부와 인접 지역 우회 규칙의 적용 여부.
- 대상 전문가 수와 일 신청 건수.

[클라이언트 준비 사항]
발주처가 아래를 제공합니다.
- 기존 데이터베이스 스키마 자료와 개발용 인스턴스, 읽기·쓰기 접근 권한
- 현재 운영 중인 배정 관리 엑셀 원본
- 기존 시스템 개발사와의 협의 창구
- 배정 규칙 확정과 결과 검증에 참여할 담당자

[기술 스택]
- 기존 시스템은 Java 기반 웹 애플리케이션이며 데이터베이스는 Oracle입니다.
- 배정 엔진의 언어·프레임워크는 지정하지 않습니다. 기존 환경과의 연계를 고려해 제안사가 제안합니다.
- 지리 연산 전용 데이터베이스 옵션 사용은 전제하지 않습니다.

[원하는 파트너]
- 운영 중인 데이터베이스에 직접 기록하는 개발을 수행한 경험. 기존 데이터 구조를 건드리지 않으면서 결과를 반영하는 방법을 설계할 수 있어야 합니다.
- 동시 처리 상황에서 데이터 정합성을 다뤄 본 경험.
- 정답이 하나로 정해지지 않은 배정·분배 규칙을 실제 데이터로 검증하며 조정해 본 경험.
- 실제 주소 데이터의 품질 문제를 다뤄 본 경험.

[제안 요청 사항]
- 거리 우선과 균등 배분이 충돌할 때 어떻게 조정할 것인지 접근 방식.
- 근접 기업을 묶는 방식과 그 기준을 어떻게 정할 것인지.
- 동시 처리 시 배정 중복을 막는 처리 방식.
- 배정 결과가 타당한지 검증하는 방법과 조정에 필요한 기간.
- 추가 도입 검토 항목의 개략 규모.

[예산과 기간]
- 예산: 800만원부터 협의
- 개발 기간: 약 1개월
- 착수 시점: 협의

[산출물]
- 배정 엔진 및 연동 백엔드 소스코드 일체
- 배정 규칙 정의서와 데이터 매핑 정의서
- 엑셀 배정 실적 데이터 이관 결과
- 배포 및 운영 가이드
- 실제 데이터 검증 결과 보고

[계약 특이사항]
- 운영 중인 시스템에 연동하는 개발이므로 기존 서비스에 영향이 없도록 진행합니다.
- 배정 규칙은 착수 단계에서 발주처와 확정한 뒤 개발에 들어갑니다.
- 검증 단계에서 규칙 조정이 발생할 수 있으며 이는 계약 범위에 포함됩니다.

[기타 사항]
- 추후 유지보수까지 의뢰할 수 있는 법인사업자를 찾고 있습니다.
- 업무 범위 및 예산 변동으로 다시 한번 지원자를 모집하고자 합니다.
- 예전 프로젝트 : https://www.wishket.com/project/157444/
지원 기회 분석

지원 전에 볼 것

핵심 요구사항

  • 주소 지오코딩 및 도로명·지번 혼재/오류 데이터 정제와 실패 건 보정 경로 제공
  • 근접 기업 2~3개 묶음 + 같은 도 내 건수 균등 배분 배정 엔진 설계(거리 vs 균등 트레이드오프)
  • 기존 DB 스키마 파악·매핑 및 엑셀 배정 실적 데이터 시스템 이관
  • 동시 처리 시 배정 중복 방지를 DB 수준에서 차단
  • 배정 불가 건 대기 전환, 회수·재배정 처리 및 판단 근거 로깅
  • 실제 수기 배정 결과와 대조한 배정 품질 검증 및 규칙 조정

예상 산출물

  • 배정 엔진 및 연동 백엔드 일체
  • 좌표·묶음 정보 관리용 별도 테이블 및 데이터 이관 스크립트
  • 배정 근거 로깅 및 실패 건 보정 처리
  • 기존 서비스 환경 배포 및 연동 검증

매력 포인트

  • 요구사항·상태흐름·수용기준이 매우 상세하게 정리된 명확한 스펙
  • 발주처가 DB 스키마 자료와 개발용 인스턴스 제공
  • 화면 개발 제외로 백엔드에 집중 가능

확인할 점

  • 예산 800만원 대비 알고리즘 설계·데이터 정제·동시성·검증까지 범위가 넓어 단가가 낮음
  • 묶음 기준·균등 편차·거리 기준·실행 시점 등 핵심 파라미터가 모두 미정이라 요구 확정 리스크 존재
  • 사람 검수 없이 자동 확정되어 DB 반영되므로 오배정 시 운영 리스크가 큼
Client signal

클라이언트 정보

회사 · 위시켓 / 지역 · 서울특별시 동대문구 / 고용형태 · CONTRACTOR
START THE LOOP · CHOOSE

시장과 사람의 답을 봤다면,
다음 결과물의 구조를 고릅니다.

한 번의 결과에 기대지 않고 다시 만들 수 있도록, 문제 발견부터 제작·배포·수익화까지 이어지는 전체 흐름을 익혀보세요.

TTJ CLASS에서 다음 구조 고르기 →
처리 중...