소개
시도하고자 했던 것과 그 이유를 알려주세요.
: 제가 운영하고 있는 노무법인 청인이 2026년 한국산업안전보건공단이 시행하는 민간 위탁사업에 수행기관으로 선정되었습니다. 86개 업체에 총 399회에 걸친 컨설팅 일정 관리가 필요하였습니다.
진행 방법
어떤 도구를 사용했고, 어떻게 활용하셨나요?
Tip: 사용한 프롬프트 전문을 꼭 포함하고, 내용을 짧게 소개해 주세요.
Tip: 활용 이미지나 캡처 화면을 꼭 남겨주세요.
Tip: 코드 전문은 코드블록에 감싸서 작성해주세요. ( / 을 눌러 '코드 블록'을 선택)
프롬프트 전문
# 역할 지정
당신은 풍부한 경험을 가진 시니어 풀스택 개발자입니다. 아래의 요구사항을 바탕으로 PC와 스마트폰에서 모두 원활하게 동작하는 반응형 웹 애플리케이션(Web App)의 시스템 설계, DB 스키마 작성, 그리고 프론트엔드/백엔드 코드를 작성해 주세요.
# 프로젝트 개요
안전보건/재해예방 등을 위한 '컨설팅 일정 관리 웹 애플리케이션' 개발
# 1. 기술 스택 (제안 및 변경 가능)
* Frontend: React (또는 Next.js), TailwindCSS (반응형 UI)
* Backend: Node.js (Express) 또는 Python (FastAPI)
* Database: PostgreSQL 또는 MySQL
* External API: 네이버 지도 API (Naver Maps API)
# 2. 데이터베이스(DB) 설계 요구사항
초기 데이터는 엑셀 파일 업로드를 통해 연계 및 구축됩니다. 다음 세 가지 핵심 DB를 설계해 주세요.
1. 사업장 DB: 엑셀의 사업장 정보와 재해 정보를 매핑하여 저장. (주소, 좌표, 업종(제조업/기타), 재해 이력 등 포함)
2. 컨설턴트 DB: 컨설턴트의 기본 정보 (이름, 연락처, 소속 등)
3. 일정 관리 DB: 사업장과 컨설턴트를 N:M으로 연결하고 회차별 일정을 관리.
# 3. 핵심 비즈니스 로직 (업종별 일정 및 배정 규칙)
일정 생성 시 아래의 규칙이 시스템적으로 강제되어야 합니다.
* 제조업 (총 5회 진행)
* 1회차, 2회차: 컨설턴트 2명 배정 필수
* 3회차, 4회차, 5회차: 컨설턴트 1명 배정 필수
* 기타업 (총 3회 진행)
* 1회차: 컨설턴트 2명 배정 필수
* 2회차, 3회차: 컨설턴트 1명 배정 필수
# 4. 주요 기능 요구사항
1. 엑셀 데이터 연동: 사업장 및 재해 정보 엑셀 파일을 업로드하면 DB에 파싱 및 저장되는 기능.
2. 네이버 지도 연동 (Map UI):
* 사업장 주소를 기반으로 네이버 지도 상에 마커 표시.
* 인터랙션 (PC: 마우스 Hover, 모바일: Touch): 지도상의 사업장 마커에 상호작용 시 정보 오버레이(툴팁) 창 표시.
* 오버레이 팝업 필수 포함 정보:
* 사업장명
* 배정된 컨설턴트 이름 (회차별 배정 인원)
* 진행 회차 (예: 2/5회차 진행 중)
* 각 회차별 세부 일정 (방문 예정일 및 완료 여부)
3. 반응형 웹 디자인: PC 화면의 넓은 지도 뷰와 스마트폰의 좁은 세로 뷰에 맞춰 지도와 UI가 최적화되어야 함.
# 5. 작업 지시 (Step-by-Step)
1. DB 스키마 작성: 위 요구사항을 만족하는 테이블 구조와 관계(ERD 개념)를 SQL 또는 ORM 모델 코드로 제시해 주세요.
2. API 명세: 엑셀 업로드, 지도 마커 데이터 로드, 일정 배정을 처리하는 주요 REST API 엔드포인트를 설계해 주세요.
3. 지도 컴포넌트 코드: 네이버 지도 API를 활용하여 마커를 찍고 Hover/Touch 이벤트를 처리하는 프론트엔드 핵심 컴포넌트(React 기준) 코드를 작성해 주세요.사용도구 및 개발과정
Antigravity에 Gemini 및 Claude를 함께 사용하였습니다. 두 모델을 사용하는 기준은 없고, 잘 해결이 안 될 때마다 바꿔가면서 사용하였습니다.
위 프롬프트로 외관은 어느 정도 구현이 가능합니다. 네이버API를 연동하는 과정은 네이버클라우드의 매뉴얼을 참고하였습니다.
전체적인 틀을 만든 이후에는 자잘하게 기능을 개선하였습니다. 팝업창에 주소, 연락처 표시 등.
진행시점, 착수, 완료 등 과정 표시와 같이 실제 활용하면서 계속해서 기능을 개선 중입니다.
결과와 배운 점
배운 점과 나만의 꿀팁을 알려주세요.
: 계속 부딪히는 수밖에 없는 것 같습니다.
과정 중에 어떤 시행착오를 겪었나요?
: 네이버지도를 띄우는 코드가 처음에 잘못 만들어져서 여러 번 수정하였습니다.
도움이 필요한 부분이 있나요?
: 대부분의 문제는 LLM에 물어보면서 해결하였습니다.
앞으로의 계획이 있다면 들려주세요.
: 5인 이상 모든 사업장은 매년 위험성 평가를 해야 합니다. 현재 대형 건설/제조업체는 위험성 평가 솔루션을 많이 사용하고 있지만 소규모 건설/제조업 등은 활용도가 낮습니다. 일정관리 수준을 넘어서 위험성 평가 시스템으로 발전시킬 예정입니다.
버스 정류장의 위치를 보여주는 지도