PLSnote

PLSnote 아이콘

PLSnote — PDCA 기반 회의 실행 관리 플랫폼

“회의를 실행으로 옮겨보자, PLS 회의 트래킹!” — PLSnote는 조직의 회의에서 도출된 계획과 과제를 PDCA(Plan-Do-Check-Act) 사이클로 체계적으로 추적하고 관리하는 경영관리 플랫폼입니다.

KPI 관리, 이슈 추적, 전략 수립, 회의록 작성부터 실시간 채팅, 태스크 관리, 푸시 알림까지 — 조직의 목표 설정에서 실행, 평가, 개선에 이르는 전 과정을 하나의 플랫폼에서 수행할 수 있습니다. 웹, iOS, Android를 모두 지원합니다.


프로젝트 개요

많은 조직에서 회의의 결정 사항이 실행으로 이어지지 못합니다. PLSnote는 이 문제를 해결하기 위해 경영학의 PDCA(Plan-Do-Check-Act) 프레임워크를 소프트웨어로 구현했습니다.

조직 전체의 전략, KPI, 이슈, 회의록을 하나의 “맵(Map)”으로 구성하고, 각 항목이 PDCA 사이클의 어느 단계에 있는지를 실시간으로 추적합니다. 팀별 계획 수립, 노트(일지) 작성, 태스크 배정과 확인, 평가까지 — 모든 과정이 수치화된 지표로 집계되어 경영진과 팀 리더가 한눈에 진행 상황을 파악할 수 있습니다.

PLSnote 메인 대시보드
메인 대시보드 — KPI맵, 이슈맵, 전략맵, 회의록 카드 뷰
KPI 맵
KPI 맵 — PDCA 단계별 팀별 계획 보기

시스템 구조

PLSnote는 Ruby on Rails 서버를 중심으로, 실시간 WebSocket 통신, 비동기 백그라운드 작업, 모바일 푸시 알림을 통합한 풀스택 아키텍처로 구성됩니다. iOS/Android 앱은 하이브리드(WebView) 방식으로 웹 애플리케이션을 네이티브 쉘로 감싸 빠른 개발과 일관된 UX를 제공합니다.

구성 요소기술 스택역할
Web ServerRuby on Rails 6.0, Ruby 3.0, Puma, Slim Templates서버 사이드 렌더링, RESTful API, 인증/인가
FrontendStimulus.js, Bootstrap 4, jQuery, Turbolinks, Webpacker동적 UI 인터랙션, SPA-like 페이지 전환
실시간 통신ActionCable (WebSocket), Redis Pub/Sub실시간 채팅, 라이브 알림, 페이지 자동 갱신
비동기 처리Sidekiq + Redis, Whenever (Cron)푸시 알림 발송, 리마인더, 배치 작업
데이터베이스MariaDB (MySQL 호환), 78개 테이블조직·맵·계획·태스크·채팅·알림 데이터 관리
푸시 알림Firebase Cloud Messaging (FCM), Web Push API모바일/브라우저 실시간 알림
Android 앱Kotlin, WebView, Retrofit, Firebase하이브리드 앱 — 웹 콘텐츠 + 네이티브 푸시
iOS 앱Swift, WKWebView, Alamofire, Firebase하이브리드 앱 — 웹 콘텐츠 + 네이티브 푸시
파일 저장소AWS S3, Active Storage첨부 파일, 이미지 업로드 및 관리
배포Docker Compose, AWS ECS, GitLab CI/CD컨테이너 오케스트레이션, 자동 빌드/배포

아키텍처 다이어그램

Client Layer
Web Browser
Stimulus.js + Bootstrap 4 + Turbolinks
Android App
Kotlin + WebView + Firebase
iOS App
Swift + WKWebView + Firebase

HTTPS / WebSocket
Rails Application Server
Puma
HTTP Server
ActionCable
WebSocket
Devise
Authentication
Ruby on Rails 6.0 — 65+ Models · 35+ Controllers · 60+ Stimulus JS Controllers
MariaDB
78 Tables
Soft Delete
Redis
Cache + PubSub
Job Queue
AWS S3
File Storage
Active Storage
Redis ▼
Sidekiq Workers
→ FCM Push (iOS/Android)  ·  → Web Push  ·  → Reminders

핵심 기능


1. PDCA 기반 맵(Map) 관리

PLSnote의 핵심 개념은 “맵(Map)”입니다. 하나의 맵은 조직의 특정 관리 영역을 나타내며, 4가지 유형이 있습니다:

  • KPI 맵 — 핵심성과지표(KPI) 관리. CSF(핵심성공요인)와 KPI를 정의하고, Plan(계획) → Do(실행) → Check(확인) → Act(조치) 사이클로 추적
  • 이슈 맵 — 프로젝트별 이슈 관리. 발생한 이슈의 진행 상태를 PDCA로 추적하고 해결
  • 전략 맵 — 중장기 전략 과제 관리. 전략의 수립부터 실행, 점검, 피드백까지 전 과정 관리
  • 회의록 — 회의에서 결정된 사항을 기록하고, Do(실행)→Check(확인)→Act(조치)로 후속 조치 관리

각 맵은 팀별 계획(Plan) 탭분석(Analysis) 탭으로 구성됩니다. 팀별 계획 탭에서는 팀 리더가 계획을 수립하고, 팀원이 실행 노트를 작성하고, 관리자가 확인/평가합니다. 분석 탭에서는 기간별로 PDCA 각 단계의 수치화된 지표가 자동 집계되어 차트와 매트릭스로 시각화됩니다.

KPI 맵 분석
KPI 맵 분석 — PDCA 단계별 수치 지표 + 차트 시각화
전략 맵 분석
전략 맵 분석 — 프로젝트별 PDCA 지표 + 리마인더 통계

PDCA 각 단계에서 자동 집계되는 주요 지표:

단계집계 지표
P (Plan)신규 계획 수, 확인 전 계획의 예약점수, 노트 기록 주기(AVG), 계획 리마인더 수
D (Do)신규 노트 수, 노트 기록 리마인더 수, 대화방이 개설된 노트 수
C (Check)신규 대화방 수, 태스크가 있는 대화방 수
A (Act)신규 태스크, 확인 전 태스크의 예약점수, 리마인더, 기한 내 완료율(%), 평가 제외(%)

2. 이슈맵 & 전략맵

이슈맵은 프로젝트별로 발생하는 이슈를 PDCA 프레임워크로 관리합니다. 각 이슈에 대해 Plan(계획) → Do(실행) → Check(확인) → Act(조치) 상태를 부여하고, 팀별로 이슈의 현황과 진행 상태를 한눈에 파악할 수 있습니다.

전략맵은 조직의 중장기 전략 과제를 관리합니다. 전략별로 하위 프로젝트를 구성하고, 각 프로젝트의 PDCA 진행 상태와 수치 지표를 집계합니다. 분석 탭에서는 프로젝트별, 팀별, 구성원별, 매트릭스별로 상세 분석이 가능합니다.

이슈맵
이슈맵 — 프로젝트별 PDCA 진행 현황
전략맵
전략맵 — 전략별 프로젝트 구성 + PDCA 지표

3. 회의록 — 회의에서 실행까지

회의록 맵은 PLSnote의 핵심 가치인 “회의를 실행으로”를 직접 구현합니다. 회의에서 결정된 사항을 기록하고, 각 결정 사항에 대해 Do(실행) → Check(확인) → Act(조치) 단계를 추적합니다. 팀별 계획 탭에서 회의 안건과 결정 사항을 구조화하고, 후속 조치의 실행 여부를 모니터링합니다.

회의록
회의록 — 팀별 계획 + Do/Check/Act 후속 조치 추적

4. 그룹 관리 — 구성원, 대화방, 태스크

PLSnote는 조직(그룹)을 중심으로 역할 기반 권한 체계를 운영합니다. 맵매니저, 팀매니저, 팀멤버, 옵저버, 평가자 등 다양한 역할을 부여할 수 있으며, 각 역할에 따라 접근 가능한 기능이 달라집니다.

그룹 내에서는 구성원 관리, 대화방(실시간 채팅), 태스크 관리(칸반 보드)를 통합적으로 운영합니다. 태스크는 “새로운 → 하는 중 → 다했음 → 확인”의 4단계 칸반 보드로 시각화됩니다.

그룹 구성원 관리
그룹 구성원 — 역할 기반 권한 관리 (맵매니저, 옵저버, 팀매니저, 팀멤버, 평가자)
그룹 태스크
태스크 칸반 보드 — 새로운 / 하는 중 / 다했음 / 확인

5. 실시간 채팅 & 알림 시스템

PLSnote는 ActionCable(WebSocket) 기반의 실시간 채팅 시스템을 내장하고 있습니다. 그룹 대화방에서 팀원 간 실시간 메시지를 주고받으며, 노트·태스크·계획에 대한 논의를 즉시 수행할 수 있습니다.

알림 시스템은 모바일(FCM)과 웹(Web Push)을 모두 지원하며, 사용자별로 근무시간 내/외를 구분하여 알림 수신 여부를 세밀하게 설정할 수 있습니다. 맵별로 개별 알림 설정이 가능하여, 중요한 프로젝트만 실시간 알림을 받고 나머지는 업무시간에만 확인하는 등 유연한 운영이 가능합니다.

알림 설정
마이페이지 — 근무시간 내/외 알림 설정, 맵별 개별 알림 제어

6. iOS/Android 하이브리드 앱

하이브리드(WebView) 아키텍처를 채택하여 웹 애플리케이션을 네이티브 쉘로 감쌌습니다. 웹의 빠른 개발·배포 이점을 살리면서, Firebase 푸시 알림, 네이티브 메뉴/네비게이션, JavaScript Bridge를 통한 네이티브-웹 통신으로 네이티브에 가까운 사용 경험을 제공합니다.

플랫폼기술주요 네이티브 기능
AndroidKotlin, WebView, Retrofit, Firebase MessagingFCM 푸시, JavaScript Bridge, In-App Update, 쿠키 기반 자동 로그인
iOSSwift, WKWebView, Alamofire, Firebase MessagingFCM 푸시, WKJavaScriptController, 쿠키 복원, 커스텀 User Agent

기술 스택 상세

영역기술
BackendRuby on Rails 6.0, Ruby 3.0.7, Puma (HTTP), Unicorn (Production)
FrontendStimulus.js (60+ 컨트롤러), Bootstrap 4.4, jQuery, Turbolinks 5.2, Webpacker 4.0
템플릿 / UISlim Templates, Semantic UI, Font Awesome 5, Animate.css, TUI Calendar
차트 / 시각화Chartkick + Highcharts, Chart.js (PDCA 지표 대시보드)
리치 텍스트Action Text, Trix Editor, Froala Editor, Tributejs (멘션)
실시간ActionCable (WebSocket), Redis Pub/Sub, ChatChannel, ReloadChannel
비동기Sidekiq 5.2 + Redis (35+ Job 유형), Whenever (Cron 스케줄링)
데이터베이스MariaDB 10.5 (78개 테이블, Composite Primary Keys, Paranoia Soft Delete)
인증Devise (커스텀 login_id), AuthTrail (로그인 이력), Device Detector
관리자ActiveAdmin 2.9 (사용자/메트릭 관리, Sidekiq 모니터링)
파일AWS S3 + Active Storage, MiniMagick (이미지 처리)
데이터Caxlsx Rails (Excel 내보내기), Roo (Excel/CSV 읽기), GroupDate
국제화Rails I18n — 한국어(ko), 영어(en) 지원
AndroidKotlin 1.9, Gradle 8.6, Retrofit 2.11, Firebase BOM 33.1, In-App Update
iOSSwift, WKWebView, Alamofire, Firebase Messaging, Carthage
배포Docker Compose (Web + Sidekiq + Cron + Redis + DB), AWS ECS
CI/CDGitLab CI — 테스트(MariaDB+Redis) → Docker 빌드(AWS ECR) → ECS 배포
모니터링New Relic RPM 7.2 (APM)

PDCA 데이터 흐름

PLSnote에서 하나의 업무가 PDCA 사이클을 거치는 과정입니다:

PDCA Cycle
P (Plan)
계획 수립
리마인더
예약점수
D (Do)
노트 작성
기록 리마인더
 
C (Check)
대화방
논의 / 검토
 
A (Act)
태스크 배정/실행
기한 관리
 
↩ Act → Plan : 피드백 루프 — 모든 단계의 수치가 자동 집계되어 맵 분석 대시보드에 시각화
Real-time Integration
노트 작성 ActionCable 대화방 자동 알림
태스크 배정 Sidekiq FCM 푸시 (iOS/Android)
기한 도래 Cron (Whenever) 리마인더 알림
지표 변동 자동 재집계 분석 대시보드 갱신

배포 구성

전체 시스템은 Docker Compose로 통합 관리되며, GitLab CI/CD를 통해 자동 빌드·배포됩니다.

컨테이너역할특이사항
webRails 애플리케이션 서버 (Puma)포트 3000, Webpack 프리컴파일
sidekiq백그라운드 작업 처리35+ Job 유형, Redis 연결
cron스케줄 작업 (Whenever)리마인더, 배치 집계
webpack-dev프론트엔드 개발 서버개발 환경 전용, HMR
redis캐시, ActionCable, SidekiqPubSub + Job Queue
dbMariaDB 10.5UTF-8MB4, 자동 백업

CI/CD 파이프라인: GitLab CI에서 테스트(MariaDB + Redis 서비스 컨테이너) → Docker 빌드(AWS ECR 푸시) → ECS 배포의 3단계로 자동화되어 있습니다.


이 프로젝트가 보여주는 우리의 역량

PLSnote 개발을 통해, (주)민트기술은 경영관리 도메인의 복잡한 비즈니스 로직을 소프트웨어로 체계화하고, 웹·모바일을 아우르는 풀스택 플랫폼을 구축할 수 있는 역량을 보유하고 있음을 보여줍니다. 특히 다음과 같은 과제를 수행할 수 있습니다:

  • B2B SaaS 플랫폼 구축 — 복잡한 조직 계층, 역할 기반 권한, 멀티테넌트를 지원하는 엔터프라이즈급 웹 애플리케이션
  • PDCA·BSC·OKR 등 경영 프레임워크의 소프트웨어화 — 경영 방법론을 실제 동작하는 시스템으로 구현하고, 수치화된 지표와 분석 대시보드 제공
  • 실시간 협업 시스템 — WebSocket 기반 채팅, 라이브 알림, 동시 편집 등 실시간 인터랙션이 필요한 플랫폼
  • iOS/Android 하이브리드 앱 — 웹 기반 서비스를 네이티브 앱으로 확장하여, 푸시 알림·네이티브 기능을 통합한 크로스플랫폼 앱 개발
  • 대규모 비동기 처리 시스템 — Sidekiq + Redis 기반의 백그라운드 작업 처리, 스케줄링, 알림 발송 자동화
  • 데이터 분석 대시보드 — 조직의 업무 데이터를 자동 집계하여 차트, 매트릭스, 리포트로 시각화하는 BI 기능
  • Docker + CI/CD 기반 클라우드 배포 — Docker Compose, AWS ECS, GitLab CI를 활용한 자동화된 빌드·테스트·배포 파이프라인
  • 다국어(i18n) 지원 시스템 — 한국어/영어 등 다국어를 지원하는 국제화 가능한 소프트웨어 설계

경영관리 시스템, B2B SaaS 플랫폼, 실시간 협업 도구, 크로스플랫폼 앱 개발 등 관련 과제가 있으시면 언제든 연락 주세요.