# 리모델링 프로젝트 관리のための PWA 아키텍처: 채팅부터 AI 도구까지
건설 업계에서 아파트 리모델링 프로젝트를 관리하려면 긴 과정과 수많은 참여자를 고려한 전문 도구가 필요합니다. 우리는 채팅, 작업 추적, 비디오 감시, AI 인테리어 디자이너를 결합한 PWA 솔루션을 개발했습니다. 이 글에서는 6~18개월 지속되는 프로젝트 관리 시스템을 구축하면서 직면한 아키텍처 결정과 기술적 도전을 분석합니다.
왜 표준 CRM이 리모델링에 맞지 않는가
리모델링-건설 프로젝트는 판매 거래나 티켓이 아닙니다. 6개월에서 1년 반에 이르는 긴 과정으로, 각기 다른 요구사항을 가진 여러 역할이 관여합니다:
- 고객 — 세부 사항에 빠지지 않고 진행 상황을 추적하고 싶어 합니다.
- 견적 담당자 — 요청을 공식화하고 작업량 및 자재를 계산합니다.
- 매니저 — 프로젝트 모든 측면을 조정합니다.
- 대표 — 각 현장 세부 사항에 깊이 들어가지 않고 모든 현장 개요를 파악해야 합니다.
- 품질 관리 — 장인들의 작업을 승인합니다.
- 장인들 (미장공, 전기공, 배관공) — 순차적으로 작업합니다.
- 구매 부서 — 자재를 구매하고 배송합니다.
Bitrix24나 amoCRM 같은 기성 솔루션은 판매 퍼널에 초점을 맞추지 건설 프로젝트 관리가 아닙니다. Trello와 Asana는 작업 관리를 잘하지만 견적, 사진 첨부 체크리스트, 재무 관리가 부족합니다. 러시아 시장에는 아파트 리모델링에 필요한 모든 도구를 결합한 전문 솔루션이 없었습니다.
기술 스택 선택: PWA와 Laravel
주요 요구사항: 대표부터 미장공까지 모두가 사용하는 단일 앱. 장인들은 다양한 세대 Android 스마트폰을 사용하고, 고객들은 종종 iPhone을, 매니저들은 데스크톱을 씁니다. iOS, Android, 웹용 세 개 네이티브 앱 개발은 우리 팀에게 비현실적이었습니다. PWA가 해결책이었습니다: 하나의 코드베이스, 데스크톱 설치, 푸시 알림, 자동 업데이트.
백엔드는 PHP Laravel로 구축, 프론트엔드는 우리 필요에 맞게 커스터마이징한 AdminLTE 템플릿을 사용합니다. 아키텍처는 단일 모놀리스로, 통합 인증과 직원, 장인, 고객별 별도 대시보드를 둡니다. Laravel을 선택한 이유는 인기와 대부분 작업에 대한 준비된 패키지가 많기 때문입니다. 예를 들어 MAX 알림은 전용 패키지로 처리되며, laravel notification channels와 유사합니다.
인프라: 모스크바 reg.ru 가상 서버, 데이터 저장은 FirstVDS 서버. 백업은 다양한 호스트의 세 서버로 분산. 배포는 CI/CD 스크립트로 수초 만에 실행되며 프론트엔드 빌드 불필요로 빠른 업데이트가 가능합니다.
역할 및 접근 권한 아키텍처
시스템은 맞춤 인터페이스를 가진 네 가지 대시보드 유형을 제공합니다:
고객 대시보드
비디오 스트리밍, 단일 창 채팅, 사진 보고서, 견적, 작업 계획이 포함된 미니멀리스트 인터페이스. AI 도구 접근: 리모델링 전문가와 인테리어 디자이너 (리모델링 전 사진 업로드로 렌더링). 고객은 내부 대화나 비용 내역을 볼 수 없습니다.
직원 대시보드
할당된 권한에 기반한 내부 시스템 접근: 고객 대화, 현장 요약, 비용 관리, 장인 조정, 체크리스트, 견적, 분석.
장인 대시보드
장인이 배정된 현장만. 카운트다운 타이머가 있는 개인화된 작업 계획, 회사 채팅, 비디오 지침 체크리스트, 견적 (고객 가격 숨김), 자재/지불 요청.
대표 대시보드
회사 전체 대시보드. 모든 직원 기능 포함に加え:
- 고객 커뮤니케이션 실시간 모니터링.
- 재무 개요: 수익, 비용, 현금 흐름 격차.
- 다운타임 최소화를 위한 크루 교대 관리.
- 체크리스트를 통한 선택적 품질 검사.
- 개선 사항 즉시 배포 (체크리스트 항목 추가).
- 비용 계산 통계로부터 수요 예측.
기술적으로 세 인터페이스: 고객, 장인, 직원. 대표 대시보드는 전체 권한의 직원 버전입니다. 권한은 커스터마이징 가능하며, 사전 설정 "역할" (권한 세트)이 있습니다.
단일 창 채팅: 메시지 라우팅
핵심 기능: 고객이 "회사"와 소통하는 채팅으로, 특정 인원이 아닙니다. 내부적으로 프로젝트 참여자 모두에게 메시지가 보입니다.
작동 방식:
- 고객이 메시지 전송 — 현장에 배정된 모든 직원에게 표시.
- 직원 중 하나가 답변 — 고객에게는 "회사"로부터 발신자로 이름과 함께 보임.
- 고객에게는 개인 채팅, 직원에게는 프로젝트 그룹 채팅.
- 장인 채팅도 유사.
- 고객과 장인 간 메시지 전달 가능.
- 고객 채팅은 텍스트만 (문서화のため); 장인 채팅은 음성 메시지 지원 (어조 전달のため).
채팅은 websockets로 구동. 새 메시지 알림은 이미 읽혔으면 건너뛰기 위해 5초 지연. 푸시 알림에 "읽음"과 "답변" 버튼 포함. 일부 Android 기기에서 버튼 탭 시 알림 쉐이드가 닫혀 작업 흐름이 방해됩니다.
도전 과제와 해결책
놀라운 점: 고객당 여러 현장 처리로 계정 연동 필요. 미래 버전에서는 계정, 프로필, 현장을 처음부터 분리할 예정입니다.
Android 푸시 알림 문제 (탭 시 쉐이드 닫힘)는 미해결. 또한 체크리스트 즉시 업데이트 필요성을 처음 간과했으나, 이제 품질 관리에 필수입니다.
주요 교훈
- 도메인 특화성 — 리모델링 프로젝트는 표준 CRM을 넘어 다중 역할과 장기 일정을 지원해야 합니다.
- PWA 최적 솔루션 — 플랫폼 간 단일 코드베이스가 효과적이며, Android 푸시 알림 같은 단점에도 불구.
- 유연한 역할 시스템 — 사용자 채택을 위해 별도 인터페이스와 권한이 핵심.
- 채팅 커뮤니케이션 허브 — 단일 창 라우팅으로 상호작용 간소화 및 대화 기록.
- 백업과 안정성 — 저장 실패 시 서버 간 삼중 백업이 데이터 구함.
— Editorial Team
아직 댓글이 없습니다.