Skip to content

Commit 7ea9831

Browse files
authored
docs: revise README with project overview and details
Updated README to include project details, features, tech stack, installation instructions, performance optimizations, architecture, security, and team information.
1 parent d5c33d4 commit 7ea9831

1 file changed

Lines changed: 146 additions & 1 deletion

File tree

README.md

Lines changed: 146 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,146 @@
1-
# mango-boss-fe
1+
# 🥭 MangoBoss (망고보스)
2+
3+
> **"복잡한 매장 관리, 이제 망고보스 하나로 끝."**
4+
> 소상공인 사장님들을 위한 **올인원 매장 관리 솔루션(SaaS)** 프론트엔드 저장소입니다.
5+
6+
<img width="1720" height="1144" alt="image (10)" src="https://github.com/user-attachments/assets/56359780-bdb8-4f1b-8508-ed3af7fa37ce" />
7+
8+
<br/>
9+
10+
## 🔗 배포 및 문서 (Links)
11+
* **Service URL**: [https://www.mangoboss.com](https://www.mangoboss.com)
12+
* **Team Notion**: [MangoBoss Team Docs](https://www.notion.so/1af52a9c0c5380e6b73beb5fc5e64aea)
13+
* **Personal Docs**: [Dev Progress](https://www.notion.so/MangoBoss-1aea0b0c7d4c805c8204eba5bb540b55)
14+
15+
<br/>
16+
17+
## 📖 프로젝트 배경 (Background)
18+
19+
**"사장님은 장사에만 집중하세요, 관리는 망고보스가 할게요."**
20+
21+
많은 자영업자분들이 재고 관리, 직원 스케줄링, 매출 정산을 위해 엑셀을 켜거나 여러 개의 앱을 번갈아 사용하며 시간을 낭비하고 있습니다.
22+
**MangoBoss**는 흩어져 있는 매장 관리 기능을 하나의 웹 대시보드로 통합하여, IT에 익숙하지 않은 사장님들도 직관적으로 사용할 수 있도록 UX를 설계했습니다.
23+
24+
<br/>
25+
26+
## ✨ 핵심 기능 (Key Features)
27+
28+
* **📊 실시간 매출 대시보드**: 차트 라이브러리를 활용하여 일간/주간/월간 매출 추이를 시각화
29+
* **📦 스마트 재고 관리**: 재고 부족 시 알림 제공 및 원클릭 발주 시스템
30+
* **📅 직원 스케줄링**: 드래그 앤 드롭(DnD)으로 간편하게 알바생 근무표 작성
31+
* **📱 반응형 웹 (Mobile First)**: PC 포스기는 물론, 이동 중인 사장님의 스마트폰에서도 완벽 호환
32+
* **🔔 실시간 주문 알림**: 웹 소켓(Web Socket)을 연동하여 주문 접수 시 즉각적인 알림 제공
33+
34+
<br/>
35+
36+
## 🛠️ 기술 스택 (Tech Stack)
37+
38+
| 분류 | 기술 |
39+
| :-- | :-- |
40+
| **Framework** | ![React](https://img.shields.io/badge/React-20232A?style=flat&logo=react&logoColor=61DAFB) ![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=flat&logo=TypeScript&logoColor=white) |
41+
| **State Mgt** | `Zustand` (전역 상태) |
42+
| **Styling** | ![TailwindCSS](https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=flat&logo=tailwind-css&logoColor=white) |
43+
| **Visualization** | `Recharts` (매출 데이터 시각화) |
44+
| **Build Tool** | ![Vite](https://img.shields.io/badge/Vite-646CFF?style=flat&logo=Vite&logoColor=white) |
45+
46+
<br/>
47+
48+
## 📂 폴더 구조 (Directory Structure)
49+
50+
유지보수성과 확장성을 고려하여 **기능(Feature)** 단위와 **공통(Shared)** 단위를 분리하여 설계했습니다.
51+
52+
```bash
53+
dev-fe/
54+
├── src/
55+
│ ├── api/ # Axios 인스턴스 및 API 요청 함수 모음
56+
│ ├── assets/ # 이미지, 폰트, 아이콘 리소스
57+
│ ├── components/ # 재사용 가능한 공통 UI (Button, Input 등)
58+
│ ├── constants/ # 상수 데이터 (메뉴 리스트, 에러 메시지 등)
59+
│ ├── hooks/ # 커스텀 훅 (useAuth, useSalesData 등)
60+
│ ├── layout/ # 페이지 레이아웃 (Header, Sidebar)
61+
│ ├── pages/ # 라우팅 페이지 (Dashboard, Inventory, Schedule)
62+
│ ├── store/ # Zustand 전역 상태 관리
63+
│ ├── types/ # TypeScript 타입 정의
64+
│ ├── utils/ # 날짜 변환, 화폐 단위 포맷팅 등 유틸 함수
65+
│ ├── App.tsx
66+
│ └── main.tsx
67+
├── .env
68+
├── package.json
69+
└── README.md
70+
```
71+
72+
<br/>
73+
74+
## 🚀 설치 및 실행 (Getting Started)
75+
76+
```bash
77+
# 1. 저장소 클론
78+
git clone [https://github.com/Mango-Butter/dev-fe.git](https://github.com/Mango-Butter/dev-fe.git)
79+
80+
# 2. 패키지 설치
81+
yarn install
82+
83+
# 3. 개발 서버 실행
84+
yarn dev
85+
```
86+
87+
<br/>
88+
89+
## 🚀 성능 최적화 (Performance Optimization)
90+
91+
초기 로딩 속도 개선과 렌더링 최적화를 위해 Vite의 빌드 전략을 수정하고 코드 분할을 적극적으로 도입했습니다.
92+
93+
* **번들 사이즈 96.8% 감소**: `React.lazy`, `Suspense``manualChunks` 전략을 적용하여 모놀리식 번들을 분리.
94+
* **Before**: 5MB (초기 단일 번들)
95+
* **After**: 161KB (Core Chunk)
96+
* **Result**: 전체 Chunk 구조를 1개 → 60개 이상으로 분산하여 TTI(Time to Interactive) 대폭 개선.
97+
* **Lazy Loading 적용**: 랜딩 페이지 및 주요 섹션에 `Intersection Observer`를 도입하여 뷰포트에 진입할 때만 리소스를 로드하도록 개선.
98+
* **비동기 UX 강화**: 데이터 페칭 대기 시간에 **Skeleton UI****Lottie JSON 애니메이션**을 노출하여 체감 로딩 시간을 단축하고 끊김 없는 사용자 경험 제공.
99+
100+
<br/>
101+
102+
## 🏗️ 아키텍처 및 기술적 특징 (Architecture & Tech)
103+
104+
### 1. PWA & FCM 알림 시스템
105+
* **PWA (Progressive Web App)**: `vite-plugin-pwa`를 활용하여 모바일 홈 화면 설치 지원 및 서비스 워커(Service Worker) 기반의 오프라인 캐시 전략 적용. 네트워크가 불안정한 환경에서도 핵심 기능 사용 가능.
106+
* **Push Notification**: FCM(Firebase Cloud Messaging)을 연동하여 브라우저의 Foreground/Background 상태에 관계없이 실시간 주문/스케줄 알림 전송.
107+
108+
### 2. 상태 관리 및 라우팅 (State & Routing)
109+
* **Zustand 기반 상태 분리**: 사장님(Admin)과 알바생(Staff)의 데이터 접근 범위가 다름을 고려하여, 전역 상태 스토어를 역할별로 분리 및 경량화.
110+
* **Role-Based Access Control (RBAC)**:
111+
* `PublicRoute`: 비로그인 사용자 접근
112+
* `ProtectedRoute`: 로그인 사용자 전용
113+
* `RoleRoute`: 특정 권한(사장님/알바생)에 따른 페이지 접근 제어 및 리디렉션 처리
114+
115+
### 3. 디자인 시스템 (Design System)
116+
* **Component-Driven Development**: **Tailwind CSS****JSX in SVG**를 기반으로 유연한 디자인 시스템 구축.
117+
* **Storybook 도입**: 공통 UI 컴포넌트(Button, Input, Modal 등)를 문서화하여 디자이너-개발자 간 협업 효율 증대 및 UI 일관성 유지.
118+
119+
### 4. SEO & 마케팅 (SEO & Meta)
120+
* 상용 서비스 수준의 **SEO 메타태그**, **OpenGraph**, **PWA Manifest**를 완벽하게 구성하여 SNS 공유 시 미리보기 최적화 및 검색 엔진 노출 대응.
121+
122+
<br/>
123+
124+
## 🔒 보안 및 배포 파이프라인 (Security & DevOps)
125+
126+
### 🔐 클라이언트 보안 (Client Security)
127+
* **AES 기반 데이터 암호화**: 전자근로계약서 등 민감 데이터 전송 시, 클라이언트에서 생성한 **Random Session Key****Encryption Key**를 조합하여 AES 암호화 적용.
128+
* **일회성 키 전략**: 전송 후 키를 파기하는 방식으로 데이터 탈취 및 중간자 공격(MITM) 방어.
129+
130+
### ☁️ CI/CD & Infrastructure
131+
* **Automated Deployment**: GitHub Actions를 활용하여 `dev` (개발) → `test` (테스트) → `main` (운영) 브랜치별 자동 배포 파이프라인 구축.
132+
* **AWS Serverless**: **Amazon S3**(정적 호스팅)와 **CloudFront**(CDN)를 연동하여 전 세계 어디서든 빠른 속도로 콘텐츠를 전송하고 SSL(HTTPS) 보안 적용.
133+
134+
<br/>
135+
136+
## 📬 Team Mango-Butter
137+
138+
| 이름 | 역할 |
139+
| :-- | :-- |
140+
| **[윤석찬](https://github.com/PaleBlueNote)** | Frontend Lead
141+
| **정현지** | Backend Lead
142+
| **심재엽** | Backend
143+
| **이명건** | Designer
144+
145+
---
146+
© 2026 Mango-Butter. All rights reserved.

0 commit comments

Comments
 (0)