top of page

Create Your First Project

Start adding your projects to your portfolio. Click on "Manage Projects" to get started

SaaS형 RPA(업무자동화) 솔루션

프로젝트 유형

RPA 프로그램

날짜

2025년 3Q

역할

개발 전체

기술스택

NextJS(MUI), Spring Boot, Python

클라우드 컴퓨팅을 활용한 SaaS형 RPA(업무자동화) 솔루션
원격 시스템 제어방식, 쉬운 매크로 스크립트 에디터, 편리한 디버깅, 다수 작업(업무) 관리, SaaS
본 프로젝트는 분산 자동화 워크플로우 시스템으로, 웹 기반 관리 도구, REST API 서버, 그리고 자동화 실행 에이전트로 구성된 엔터프라이즈급 RPA(Robotic Process Automation) 솔루션입니다. 한국 비즈니스 프로세스, 특히 4대보험 신고, 고지서 관리, 거래처 관리 등의 반복적인 업무 자동화에 특화되어 있습니다.

1. 웹 관리 콘솔
[개요]
비개발자도 드래그 앤 드롭으로 자동화 워크플로우를 설계할 수 있는 시각적 매크로 편집기를 제공하는 웹 기반 관리 플랫폼입니다.

[핵심 기술 스택]
프론트엔드 프레임워크 - React - 최신 버전의 SPA 아키텍처 - Vite - 빠른 개발 서버 및 빌드 도구 - Material-UI - 일관된 디자인 시스템과 풍부한 컴포넌트 라이브러리
상태 관리 - Redux Toolkit - 현대적인 Redux 패턴으로 전역 상태 관리 - RTK Query - 자동 캐싱, 재검증, 낙관적 업데이트를 지원하는 데이터 페칭
시각화 및 인터랙션 - Chart.js - 대시보드 차트 및 분석 시각화 - react-dnd - HTML5 기반 드래그 앤 드롭 인터페이스 - Emotion - CSS-in-JS 스타일링
데이터 처리 - xlsx 라이브러리 - 엑셀 파일 업로드/다운로드 처리

[주요 기능]
1. 시각적 매크로 빌더 - 30개 이상의 사전 정의된 블록 제공 - 명령 블록: 마우스 제어, 키보드 입력, 대기, 스크롤 등 - 조건 블록: 이미지 탐색, 색상 감지, 텍스트 인식(OCR), 창 감지 - 제어 블록: 엑셀 로딩, 프로그램 실행, 크롬 제어, 창 관리 - 디버그 블록: 테스트 및 디버깅 기능

[3단계 플로우 구성]
Init: 초기화 단계 (일회성 설정)
Script: 반복 실행 스크립트 (여러 작업에 대해 반복)
Finalize: 정리 단계 (종료 작업)
중첩 조건 분기: 성공/실패에 따른 분기 처리
실시간 테스트 모드: 대체 값으로 블록 실행 테스트
Import/Export: 플로우 구성 저장 및 불러오기
변경 사항 추적: 저장되지 않은 변경 사항 감지

2. 작업 관리 시스템 - 작업 생성, 수정, 삭제, 조회 - 페이지네이션 및 정렬 지원 - 작업 상태 추적 및 우선순위 관리 - 월별 통계 및 분석 - 작업 큐 시스템

3. 스크립트 관리 - 스크립트 메타데이터 관리 - 에이전트와의 연결 - 버전 관리

4. 에이전트 모니터링 - 실시간 에이전트 상태 폴링 (2초 간격) - 실시간 스크린샷 뷰어 - 에이전트 실행 제어 - 다중 스크린샷 URL 모드 (자동/IP/도메인)

5. 업무별 특화 기능 - 4대보험 신고관리: 근로자 취득/상실 신고 자동화, 엑셀 업로드 - 고지서 관리: 고지서 수집 자동화 및 상태 조회 - 거래처 관리: 사업자등록 및 정보 관리 - 예수금 정산: 예수금 관련 업무 자동화 - 대시보드: 작업 큐 시각화 및 시스템 상태 개요

6. 사용자 및 권한 관리 - 역할 기반 접근 제어 - 관리자 전용 기능 분리

[기술적 강점]
모듈형 아키텍처 - 기능별 모듈화된 구조로 유지보수 용이 - 재사용 가능한 컴포넌트 라이브러리 - 110개 이상의 잘 조직된 컴포넌트
상태 관리 최적화 - 자동 캐시 무효화로 데이터 일관성 보장 - 낙관적 업데이트로 빠른 UI 응답성 - 로컬 스토리지 영속화
실시간 기능 - 폴링 전략을 통한 에이전트 모니터링 - 실시간 블록 실행 결과 표시 - 라이브 스크린샷 업데이트
사용자 경험 - 직관적인 드래그 앤 드롭 인터페이스 - 시각적 피드백과 진행 상태 표시 - Material-UI 기반의 일관된 디자인

2. 백엔드 서버
[개요]
분산 자동화 시스템의 핵심 서버로, 에이전트 관리, 작업 큐 처리, 데이터 영속성을 담당하는 RESTful API 서버입니다.

[핵심 기술 스택]
프레임워크 - Spring Boot 3.x - 최신 자바 엔터프라이즈 프레임워크 - Java 17 - 최신 LTS 버전
데이터 계층 - Spring Data JPA - ORM 기반 데이터 접근 - PostgreSQL - 엔터프라이즈급 관계형 데이터베이스 - JSONB - 유연한 동적 데이터 저장
보안 - Spring Security - 엔터프라이즈 보안 프레임워크 - JWT (JSON Web Tokens) - 토큰 기반 인증 - HS512 알고리즘 - 안전한 토큰 서명 - 역할 기반 접근 제어 (admin, manager, user, viewer)
API 문서화 - Swagger/OpenAPI 3 - 대화형 API 문서 - 자동 생성된 API 스펙
추가 라이브러리 - Lombok - 보일러플레이트 코드 감소 - ModelMapper - 객체 매핑 자동화 - iTextPDF - PDF 생성 - Spring Validation - 데이터 검증 - Spring Boot Mail - 이메일 기능

[아키텍처]
도메인 주도 설계 (DDD) - 명확한 도메인 경계를 가진 12개 기능 모듈 - 수직 슬라이스 아키텍처로 모듈 독립성 확보 - 각 기능 모듈은 Controller → Service → Repository → Entity 레이어 포함
3계층 작업 관리 구조 1. Task (작업 템플릿): 자동화 작업 정의 2. TaskQ (작업 큐): 사용자가 생성한 배치 작업 3. WorkQ (작업 아이템): 회사/엔티티별 개별 작업 단위

[주요 기능]
1. 에이전트 관리 - 분산 워커 등록 및 추적 - 상태, IP 주소(내부/외부), 헬스 체크 모니터링 - 에이전트 가용성 및 마지막 핑 시간 추적 - 특정 에이전트에 작업 할당
2. 작업 큐 시스템 - 상태 머신: PENDING → DOING → DONE - Pop 메커니즘: 가장 오래된 PENDING 작업을 원자적으로 선점 - 완료 처리: 결과/오류와 함께 DONE 상태로 전환 - 일괄 중지: 큐의 모든 PENDING 작업 일괄 취소 - 에러 핸들링: 실패한 작업 별도 추적 - 고급 검색: 이름, 회사, 지점, 날짜 범위로 검색 - 통계 집계: 작업 통계 쿼리 지원
3. 스크립트 관리 - 자동화 스크립트 저장 및 관리 - 에이전트와 스크립트 연결 - 타임스탬프 기반 버전 추적
4. 스크린샷 캡처 - 에이전트의 스크린샷 캡처 및 저장 - 썸네일 생성 - 커서 위치 추적 - 성능을 위한 지연 로딩
5. 시스템 명령 큐 - 에이전트 제어를 위한 시스템 레벨 명령 - 비즈니스 작업 큐와 분리
6. 회사 및 관리자 데이터 - 사업자등록번호 기반 회사 정보 저장 - 보험 플래그 추적 (국민연금, 건강보험, 고용보험, 산재보험) - 담당자/직원 정보 관리
7. 로깅 시스템 - 에이전트 메시지 로깅 - 고지서 수집 설정 - 업로드 활동 추적
8. 인증 및 권한 - JWT 기반 인증 - 4단계 역할 레벨 - 커스텀 인증 엔트리 포인트

[기술적 강점]
확장 가능한 아키텍처 - 폴링 방식으로 에이전트가 작업 요청 - 서버는 에이전트에 푸시하지 않음 - 무상태 에이전트 설계 - 자연스러운 부하 분산 (가장 오래된 작업 우선)
유연한 데이터 구조 - PostgreSQL JSONB 컬럼으로 동적 파라미터 저장 - 스키마 변경 없이 유연한 데이터 저장 - variableParams, companyParams JSON 저장
강력한 데이터 접근 - JPA Auditing으로 자동 타임스탬프 - 페이지네이션 지원 커스텀 JPQL 쿼리 - 날짜 범위 필터링 및 다중 조건 검색 - 통계를 위한 집계 쿼리
포괄적인 API 문서 - Swagger UI 대화형 문서 - 요청/응답 예제 포함 - 파라미터 상세 설명 - Bearer 인증 통합
디자인 패턴 - Repository Pattern - 데이터 접근 추상화 - DTO Pattern - 엔티티와 API 레이어 분리 - Builder Pattern - 불변 객체 생성 - Service Layer Pattern - 트랜잭션 관리 - Filter Chain Pattern - 보안 필터 체인

3. Macro Script Player (자동화 에이전트)
[개요]
윈도우 환경에서 실행되는 Python 기반 자동화 실행 에이전트로, 서버로부터 작업을 받아 마우스/키보드 제어, 이미지/텍스트 인식, 웹 브라우저 자동화 등을 수행합니다.

[핵심 기술 스택]
언어 및 플랫폼 - Python 3.7+ (Python 3.13 권장) - Windows 10/11 전용
웹 통신 - requests - REST API 통신 - websocket-client - 실시간 양방향 통신
데이터 처리 - pandas - 엑셀 데이터 처리 및 조작 - numpy - 수치 연산 및 배열 처리 - openpyxl - 엑셀 파일 읽기/쓰기
컴퓨터 비전 및 이미지 처리 - OpenCV - 이미지 검색 및 색상 감지 - Pillow - 스크린샷 캡처 및 이미지 조작 - NaverOCR - 한글/영문 광학 문자 인식
자동화 - PyAutoGUI - 마우스/키보드 제어 - pyperclip - 클립보드 작업 (한글 입력용) - pywin32 - Windows API 통합
유틸리티 - colorama - 컬러 터미널 출력 - python-dateutil - 날짜/시간 파싱

[시스템 구조]
실행 흐름 서버 API → 작업 큐 → 에이전트 ↓ 1. INIT 스크립트 (일회성 설정) ↓ 2. Work Queue 반복 (여러 작업 처리) ↓ 3. FINALIZE 스크립트 (정리) ↓ 대기 상태로 복귀
에이전트 상태 머신 - -1: 종료됨 - 0: 초기화 중 - 1: 대기 중 (작업 대기) - 2: 작업 중 (작업 실행) - 99: 서버 오류

[주요 기능]
1. 서버 통합 작업 관리 - REST API를 통한 중앙 집중식 제어 - 다중 에이전트 동시 실행 지원 - 30초마다 자동 스크린샷 업로드 - 시스템 명령 큐를 통한 원격 제어 (중지, 건너뛰기 등)

2. 지능형 검색 기능
이미지 인식 (OpenCV) - 신뢰도 수준을 가진 템플릿 매칭 - Base64 이미지 지원 - 영역 기반 검색
텍스트 인식 (EasyOCR) - 한글 및 영문 OCR - 신뢰도 기반 매칭 - 화면 영역 지정 가능
색상 감지 - 허용 오차를 가진 RGB 색상 매칭 - 픽셀 그룹화 알고리즘 - 최대 클러스터 식별
창 관리 - 부분 타이틀 매칭으로 창 찾기 - 창 위치 및 조작

3. 마우스 및 키보드 제어 - 마우스 동작: 클릭, 더블 클릭, 드래그, 이동, 스크롤 - 키보드 동작: 한글 지원 텍스트 입력 (클립보드 방식), 단축키, 키 누름/해제 - 스마트 좌표 시스템: FHD 해상도 (1920x1080) 검증

4. 브라우저 자동화 (Chrome) - Chrome DevTools Protocol (CDP) 통합 - 디버깅 포트로 Chrome 실행 - 탭 관리 및 내비게이션 - JavaScript 실행 - 요소 상호작용 (클릭, 입력 채우기) - 페이지 스크린샷 캡처 - 페이지 로딩 대기

5. 데이터 관리 - 엑셀 기반 계정 관리: 엑셀에서 ID/비밀번호 목록 로드 - 변수 치환 시스템: - $RETURN_VALUE - 이전 명령 결과 - $COMPANY_* - 회사별 파라미터 - $PARAM_* - 작업 수준 파라미터 - 파일 다운로드 자동화: 다운로드 파일 모니터링, 이름 변경, 정리

6. 고급 제어 흐름 - 조건부 실행: 검색 결과에 따른 success 및 failed 블록 - Stop 명령: 전체 작업 실행 중단 - doNext 명령: 현재 작업 건너뛰고 다음 작업 진행 - doNextresetchrome: Chrome 초기화 후 계속

[기술적 강점]
JSON 기반 스크립트 엔진 - 선언적 JSON 형식의 자동화 스크립트 - 명령 구조화 및 중첩 조건 분기 지원 - 런타임 변수 치환 및 타입 변환
강력한 로깅 시스템 - 3단계 로깅 (DEBUG, ERROR, RESULT) - 자동 스크린샷 캡처 (에러 및 결과 시) - 메타데이터와 함께 중앙 서버로 전송 - 타임스탬프 및 컨텍스트 정보 포함
재시도 메커니즘 - 스크립트 로딩 3회 재시도 - 2초 지연 후 재시도 - 견고한 네트워크 오류 처리
파일 조직 시스템 - UUID 기반 파일명으로 추적 - 네트워크 드라이브 통합 (Y: 드라이브) - 템플릿 기반 폴더 구조 - 메타데이터 보존 - 다중 위치 복사
픽셀 그룹화 알고리즘 - Set 기반 O(1) 조회로 최적화된 BFS 구현 - 인접 픽셀을 위한 너비 우선 탐색 - 8방향 이웃 검사 - 대용량 데이터셋 진행 상황 보고
API 추상화 계층 - 단일 api_call() 함수로 모든 요청 처리 - 자동 토큰 삽입 - 일관된 에러 핸들링 - 베이스 URL 관리
성능 최적화 - PyAutoGUI 일시 중지 시간 최소화 (0.1초) - Fail-safe 비활성화로 속도 향상 - 대규모 색상 검색을 위한 효율적인 픽셀 그룹화 - 스크린샷 캐싱 (15분)
확장성 - 모듈형 액션 라이브러리 (새 액션 추가 용이) - 플러그인 방식의 명령 아키텍처 - 구성 기반 동작

[전체 시스템의 장점]
1. 사용자 친화성
노코드/로우코드 접근: 비개발자도 시각적 인터페이스로 자동화 워크플로우 설계 가능
직관적인 UI: Material-UI 기반의 일관되고 현대적인 디자인
실시간 피드백: 에이전트 실행 상태와 스크린샷을 실시간으로 모니터링

2. 확장성 및 성능
분산 처리: 여러 에이전트가 동시에 작업을 처리하여 처리량 증가
자연스러운 부하 분산: 가장 오래된 작업 우선 처리로 공평한 작업 분배
비동기 처리: 큐 기반 워크플로우로 작업 생성과 실행 분리
캐싱 전략: RTK Query 자동 캐싱 및 15분 스크린샷 캐시

3. 견고성 및 신뢰성
재시도 메커니즘: 네트워크 오류 및 일시적 장애 자동 복구
포괄적인 로깅: 모든 작업 단계 기록 및 에러 추적
에러 핸들링: 우아한 실패 처리 (Graceful Degradation)
트랜잭션 관리: Spring의 @Transactional로 데이터 무결성 보장

4. 유지보수성
모듈형 아키텍처: 기능별 명확한 경계와 독립성
디자인 패턴 적용: Repository, DTO, Builder 등 검증된 패턴 사용
코드 품질: Lombok으로 보일러플레이트 감소, 타입 안전성
문서화: Swagger 자동 API 문서, 코드 주석

5. 보안
JWT 토큰 인증: 무상태 인증으로 확장성 확보
역할 기반 접근 제어: 4단계 권한 레벨로 세밀한 접근 제어
Spring Security 통합: 엔터프라이즈급 보안 프레임워크
Bearer 토큰: 표준 인증 헤더 사용

6. 유연성
JSONB 동적 데이터: 스키마 변경 없이 새로운 파라미터 추가 가능
변수 치환 시스템: 런타임에 동적으로 값을 주입
조건부 분기: 성공/실패에 따른 다른 경로 실행
다양한 자동화 기능: 30개 이상의 사전 정의된 블록으로 복잡한 워크플로우 구성

7. 한국 비즈니스 특화
4대보험 자동화: 근로자 취득/상실 신고 자동 처리
한글 지원: 한글 텍스트 입력 (클립보드 방식), 한글 OCR
로컬 비즈니스 프로세스: 고지서 관리, 거래처 관리, 예수금 정산 등

8. 모니터링 및 가시성
실시간 대시보드: Chart.js 기반 시각화
에이전트 상태 폴링: 2초 간격 실시간 모니터링
스크린샷 캡처: 30초마다 자동 스크린샷으로 작업 진행 상황 확인
통계 및 분석: 월별 작업 통계, 작업 상태 집계

9. 개발 생산성
Vite 빌드 도구: 빠른 HMR (Hot Module Replacement)로 개발 속도 향상
Redux DevTools: 상태 변화 추적 및 디버깅 용이
Swagger UI: API 테스트 및 문서 자동 생성
타입 안전성: Java 17의 강력한 타입 시스템

10. 비용 효율성
오픈소스 기반: 주요 프레임워크 및 라이브러리 무료
자동화로 인력 절감: 반복 작업 자동화로 인건비 절감
확장 가능: 필요에 따라 에이전트 추가로 처리량 증가

[적용 사례 및 활용 분야]
보험 업무 자동화: 4대보험 신고, 고지서 수집
데이터 입력 자동화: 엑셀 데이터를 웹사이트에 자동 입력
웹 스크래핑: 정기적인 데이터 수집 및 모니터링
반복 업무 자동화: 매일/매주 반복되는 작업 자동화
리포트 생성: 데이터 수집 후 엑셀/PDF 리포트 자동 생성

[확장 가능 시나리오]
다중 사이트 자동화: 여러 웹사이트에 동시 접속 및 작업
대량 데이터 처리: 수천 개 회사/직원 데이터 일괄 처리
야간 배치 작업: 업무 시간 외 대규모 작업 실행
모니터링 및 알림: 특정 조건 감지 시 자동 알림

[기술적 우수성]
*현대적인 기술 스택
최신 버전의 프레임워크 사용 (React 19, Spring Boot 3, Java 17)
검증된 라이브러리 조합으로 안정성 확보
커뮤니티 지원이 활발한 오픈소스 활용

*아키텍처 베스트 프랙티스
도메인 주도 설계 (DDD)
수직 슬라이스 아키텍처
RESTful API 설계
관심사의 분리 (Separation of Concerns)

*성능 최적화
RTK Query 자동 캐싱 및 재검증
데이터베이스 인덱싱 및 최적화된 쿼리
이미지 처리 알고리즘 최적화 (픽셀 그룹화 BFS)
네트워크 요청 최소화

*코드 품질
5,400줄 이상의 잘 구조화된 Python 코드
110개 이상의 모듈화된 React 컴포넌트
Lombok을 활용한 깔끔한 Java 코드
일관된 네이밍 컨벤션 및 코드 스타일

본 자동화 플랫폼은 엔터프라이즈급 RPA 솔루션으로서 사용자 친화적인 시각적 인터페이스, 견고한 백엔드 아키텍처, 강력한 자동화 실행 엔진의 조합으로 구성되어 있습니다. 특히 한국 비즈니스 프로세스에 특화되어 있으며, 노코드/로우코드 접근 방식으로 비개발자도 쉽게 복잡한 자동화 워크플로우를 구축할 수 있습니다.

현대적인 기술 스택, 검증된 디자인 패턴, 확장 가능한 아키텍처를 통해 소규모 자동화부터 대규모 엔터프라이즈 배치 작업까지 다양한 요구사항을 충족할 수 있는 유연하고 강력한 시스템입니다.

(주)한국스마트솔루션 | 안성호 대표 | 서울특별시 마곡중앙6로 63 6F

사업자등록번호 161-81-02563

© 2025 Korea Smart Solution co.ltd. All rights reserved.

bottom of page