POOLI는 LG유플러스 가족 결합 상품 사용자를 위한 실시간 가족 데이터 통합 관리 및 스마트 제약 시스템입니다.
가족 구성원별 데이터 사용량을 실시간으로 모니터링하고, 앱별 사용량 제한·속도 제한·차단 정책을 설정할 수 있습니다. 공유 데이터풀 관리, 알림 발송, 문의 관리 등 관리자 기능도 함께 제공하여 가족 단위의 체계적인 데이터 관리를 지원합니다.
- 📊 가족 구성원별 데이터 사용량 실시간 조회 및 사용량 추이 시각화
- 📱 앱별 사용량 제한 / 속도 제한 / 차단 정책 관리
- 🔄 가족 공유 데이터풀 관리 및 데이터 양도
- 🔔 알림 발송 및 문의 관리 (관리자)
- 👨👩👧👦 가족 구성원 권한 및 역할 관리
| 항목 | 내용 |
|---|---|
| 프로젝트명 | POOLI |
| 팀명 | 1조 무너팸 |
| 주제 | LG U+ 가족 데이터 사용량 관리 및 정책 제어 서비스 |
| 개발 기간 | 2025.02.24 - 2025.03.24 |
- 🟢 모니터링 관련 API 구현
- 🟢 DB, 기초 인프라 설계
- 🟢 프로젝트 구조설계
- 🟢 피그마 와이어프레임 및 UI 설계
- 🟢 공통 UI 컴포넌트 라이브러리 및 디자인 시스템 구축
| 이승현 | 김미수 | 김민수 | 김준하 | |
|---|---|---|---|---|
| 역할 | BE LEADER |
BE |
BE |
BE |
| 담당 | 모니터링 세팅 및 이상치 탐지 구현 | 데이터 사용 처리 로직 구현, Redis/Lua 기능 고도화 | 모니터링 세팅 및 이상치 탐지 구현 | 데이터 사용 처리 로직 구현, 인프라 구축, CI/CD 배포 자동화, 테스트 데이터 생성 |
| 박재현 | 현홍석 | 이해니 | 김예린 | |
|---|---|---|---|---|
| 역할 | BE |
BE |
FE LEADER |
FE |
| 담당 | Streams(MQ) + 소비 인프라 고도화 | 모니터링 세팅 및 이상치 탐지 구현, AIOps 도입 | 메인, 알림, 정책, 구성원별 정책, 사용로그 UI 구현 및 API 연동, TanStack Query 도입 | 공유풀, 상세페이지, 설정, 문의, 어드민 UI 구현 및 API 연동, 깃허브 세팅 및 도메인 분기처리 |
| Frontend Language | Code Quality | 상태 관리 |
|---|---|---|
| Styling | Build |
|---|---|
| Language | Framework | Database |
|---|---|---|
| Infra | CI/CD | Monitoring |
|---|---|---|
![]() |
![]() |
![]() |
| 권한 적용 구성원별 상세페이지 열람 및 앱 사용량 비공개 허용 권한을 관리합니다. |
대표자 권한 양도 다른 구성원에게 대표자 권한을 양도할 수 있습니다. |
정책 적용 구성원별 데이터 한도, 속도 제한, 차단 정책을 설정합니다. |
모바일 · 태블릿 · 데스크톱 환경에 최적화된 반응형 레이아웃을 제공합니다.
POOLI는 실시간 데이터 처리와 정책 기반 제어를 중심으로
상태 관리 + API 통신 + UI 렌더링을 분리한 구조로 설계되었습니다.
- 사용자 행동 또는 데이터 사용 이벤트 발생
- 서버에서 데이터 차감 및 정책 적용 처리
- 클라이언트는 TanStack Query를 통해 데이터를 조회
- 상태 변경 시 Query Invalidation을 통해 필요한 데이터만 재요청
- 변경된 상태를 UI에 반영하여 실시간에 가까운 사용자 경험 제공
- TanStack Query를 활용한 서버 상태 관리 및 캐싱
- Zustand를 통한 전역 상태 관리 (UI 상태, 사용자 정보 등)
- API 요청과 UI 로직을 분리하여 유지보수성 확보
- 페이지별 필요한 데이터만 선택적으로 갱신하는 구조
- 초기에는 10초 polling 기반으로 데이터 동기화를 구현
- 불필요한 API 요청을 줄이기 위해 Query 캐싱과 조건부 refetch 전략 적용
- 이후 SSE 기반 구조로 확장 가능하도록 설계
- 정책 변경 시
invalidateQueries를 통해 관련 데이터 즉시 갱신 - UI와 서버 상태 간 불일치를 최소화하도록 설계
- 버튼, 토글, 카드, 모달 등을 공통 컴포넌트로 분리
- 페이지 간 일관된 UX 유지 및 개발 효율성 향상
- 각 페이지별로 컴포넌트를 분리하여 기능 단위로 관리
- 유지보수성과 확장성을 고려한 구조 설계
- 서버 상태 → TanStack Query
- 클라이언트 상태 → Zustand
POOLI는 기능 확장성과 유지보수성을 고려해
레이어 기반 구조 + 페이지 단위 구조로 설계되었습니다.
- API / 상태 / UI 레이어를 분리하여 책임을 명확히 구분
- 페이지 단위로 컴포넌트를 분리해 기능 확장에 유리한 구조
- 공통 컴포넌트와 페이지 전용 컴포넌트를 분리하여 재사용성 강화
src
├─ api # API 요청 로직 (서비스 계층)
│ └─ services
│
├─ assets # 정적 리소스 (이미지, 아이콘, 폰트)
│ ├─ fonts
│ ├─ icons
│ └─ images
│
├─ components # 공통 UI 컴포넌트
│ ├─ common # 버튼, 토글, 모달 등 재사용 컴포넌트
│ └─ onboarding # 온보딩 관련 컴포넌트
│
├─ constants # 상수 관리
├─ data # 목 데이터 / 초기 데이터
├─ hooks # 공통 커스텀 훅
├─ layout # 레이아웃 (Header, BottomBar 등)
├─ lib # 외부 라이브러리 설정
├─ routes # 라우팅 정의
├─ store # 전역 상태 관리 (Zustand)
├─ types # 타입 정의
├─ utils # 공통 유틸 함수
│
├─ pages # 페이지 단위 구조 (Feature 기반)
│ ├─ Admin
│ │ ├─ components
│ │ ├─ hooks
│ │ └─ utils
│ │
│ ├─ Main
│ │ └─ components
│ │
│ ├─ Detail
│ │ └─ components
│ │
│ ├─ Policy
│ │ └─ components
│ │
│ ├─ PolicyDetail
│ │ ├─ components
│ │ └─ hooks
│ │
│ ├─ SharedData
│ │ └─ components
│ │
│ ├─ Log
│ ├─ Login
│ │
│ ├─ Setting
│ │ └─ components
│ │
│ └─ Support
│ └─ components| Repository | Link |
|---|---|
| Frontend | pooli-fe |
| Backend | pooli-be |
Node.js 18 이상을 권장합니다.
git clone https://github.com/your-org/pooli-fe.git
cd pooli-fenpm install.env 파일을 생성하고 아래와 같이 설정합니다.
VITE_API_BASE_URL=https://example.com
⚠️ 실제 API 주소에 맞게 수정해주세요.npm run dev
👉 브라우저에서 아래 주소로 접속합니다:
http://localhost:5173npm run buildnpm run preview



















