DM Log

[# 데이터 플랫폼 PJT] 데이터 플랫폼 개발 프로젝트 본문

PJT/PJT 기획

[# 데이터 플랫폼 PJT] 데이터 플랫폼 개발 프로젝트

Dev. Dong 2025. 8. 3. 17:32

 


데이터 플랫폼 개발 프로젝트


개요

사용자가 원하는 다양한 대시보드 / 데이터 소스를 간편하게 연동하고, 데이터를 웹 기반의 직관적 화면에서 자유롭게 시각화 할 수 있는 데이터 플랫폼을 구축하는 것을 목표로 합니다.

기존의 데이터 시각화 플랫폼의 경우 많은 기능으로 인해 무겁고 복잡하다고 생각되어, 데이터 플랫폼에 필수적인 핵심 기능(Core)만을 최소화하여 제공하고, 직접 원하는 기능만 선택적으로 추가 및 빌드가 가능하도록 진행할 예정입니다.

가볍고 빠르면서 자신만의 요구사항에 부합하는 데이터 모니터링 환경 구축이 가능하도록 하는 것이 목표 입니다.

목표

사용자 중심의 유연하고 가벼운 데이터 시각화 플랫폼

  1. 가벼운 플랫폼
    필수 기능만 최소화한 Core로 제공하여, 사용자가 원하는 추가 기능만 선택적으로 포함하여 빠르고 간결한 플랫폼 구축
  2. 높은 유연성 및 생산성
    사용자가 프론트엔드에서 데이터 소스 연결 정보를 직접 설정할 수 있도록 하여 코드 수정 없이 데이터 소스 변경 가능
  3. 패널 및 그래프의 자유로운 Customization 지원
    대시보드 패널을 사용자가 원하는 형태로 자유롭게 커스터마이징할 수 있도록 제공, 개발자의 다양한 시각화 요구사항 충족

개발 환경

  • Frontend
    • React (Vite) + TypeScript
    • Emotion (CSS-in-JS), Axios, React Router v7
  • Backend
    • Python 3.9, Flask, Flask-CORS
    • SQLite (사용자 및 설정 데이터 저장)
    • InfluxDB (시계열 데이터 저장)

Core 기능

  • 로그인 기능
    • JWT 기반 쿠키 인증 방식 제공
    • 로그인 / 회원가입 / 로그아웃 / 사용자 정보 조회 기능 구현
    • 인증된 사용자만이 데이터 소스 및 대시보드 접근 가능
  • Data Source & Python API 연동 기능
    • 데이터 소스(DB) 연결정보를 사용자가 프론트엔드에서 직접 입력하고 관리
    • 연결정보 저장 후 Python(Flask) API를 통해 실시간으로 데이터 조회
    • 데이터 소스 변경 시 코드 수정 없이 즉시 대응 가능
    • 현재는 InfluxDB V1 우선 개발 후 확장 예정
  • 폴더 구조 관리 기능
    • 사용자가 원하는 대로 대시보드를 그룹화하여 관리 가능하도록 구현
    • 폴더 별로 여러 대시보드를 생성 관리
    • 시각화 하면을 구현하여 논리적 분류 및 관리 효율성 증대
  • 대시보드 시각화 기능
    • 다양한 형태의 패널(차트, 테이블, 게이지 등) 제공
    • 사용자가 패널, 레이아웃, 스타일 커스터마이징 가능
    • Drag-and-Drop을 통한 패널 레이아웃 변경 기능
    • 데이터 사각화 설정 저장 재사용 기능 지원
    • 전체 패널에서 동시에 사용 가능한 변수 기능 제공
    • 특정 패널 그룹핑 기능을 통해 조건부 변수 적용 기능 제공