Skip to content

Commit f997edb

Browse files
authored
[docs] RD
1 parent 3eabc17 commit f997edb

1 file changed

Lines changed: 138 additions & 2 deletions

File tree

README.md

Lines changed: 138 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,138 @@
1-
# Muneo-Server
2-
문제없는 시공을 위한 어시스턴트 : Server Repository입니다.
1+
<img width="1920" height="1080" alt="문어장표" src="https://github.com/user-attachments/assets/55fa763e-c12b-45bd-9666-37028b038b9a" />
2+
3+
<br>
4+
5+
## Project Overview
6+
- 프로젝트 이름: 문어 (Muneo)
7+
- 프로젝트 설명: 인테리어 견적서를 AI가 진단해 추가금·부실시공 리스크를 사전에 확인시켜주는 RAG 기반 의사결정 지원 서비스
8+
9+
<br>
10+
11+
## Key Features
12+
13+
- **Auth**
14+
- 이메일 기반 회원가입 및 로그인
15+
- 카카오 OAuth 소셜 로그인 및 추가정보 입력 플로우
16+
17+
- **가견적서 생성 (RAG 기반)**
18+
- 시공 조건(지역·공간유형·평수·공정·자재등급) 자연어 쿼리 변환 후 유사 사례 벡터 검색
19+
- 5단계 점진적 필터 완화(Progressive Fallback)로 검색 결과 보장
20+
- 건물연식·자재등급·철거여부·층수·거주여부 등 보정계수 적용
21+
- IQR 기반 이상치 제거로 최소/중간/최대 견적 범위 산출
22+
23+
- **리스크 진단**
24+
- 업체 견적서 이미지를 Vision 모델로 OCR·파싱해 공종별 line item으로 구조화
25+
- 누락(공종별 필수 키워드 대조) / 중복(동일 품목·금액 반복) / 불분명(모호 표현·금액 누락·맥락 기반) 3종 리스크 자동 탐지
26+
- 진단 결과를 종합 인사이트 3문장으로 요약
27+
28+
- **AI 챗봇 (RAG 기반)**
29+
- 표준 계약서·하자판정기준 문서 기반 질의응답
30+
- 질문 유형(견적/계약/하자/일반)에 따라 검색 대상을 견적 사례 DB 또는 규정 문서로 분기
31+
- 실시간 타이핑 이펙트로 응답 렌더링
32+
33+
- **Admin Page**
34+
- 사용자 목록 조회·검색·필터링(권한/가입방식/탈퇴여부/이메일인증)
35+
- 사용자 정보 수정, 권한 변경(사용자↔관리자), 탈퇴 처리 및 복구
36+
- 관리자 본인 계정 보호(자기 자신 권한변경·탈퇴 방지)
37+
38+
<br>
39+
40+
## Tech Stack
41+
42+
**Frontend**
43+
<p>
44+
<img src="https://img.shields.io/badge/React-61DAFB?style=flat-square&logo=react&logoColor=black" />
45+
<img src="https://img.shields.io/badge/TypeScript-3178C6?style=flat-square&logo=typescript&logoColor=white" />
46+
<img src="https://img.shields.io/badge/Next.js-000000?style=flat-square&logo=nextdotjs&logoColor=white" />
47+
<img src="https://img.shields.io/badge/Vite-646CFF?style=flat-square&logo=vite&logoColor=white" />
48+
<img src="https://img.shields.io/badge/React%20Router-CA4245?style=flat-square&logo=reactrouter&logoColor=white" />
49+
<img src="https://img.shields.io/badge/Vanilla%20Extract-F786AD?style=flat-square&logo=vanillaextract&logoColor=white" />
50+
<img src="https://img.shields.io/badge/TanStack%20Query-FF4154?style=flat-square&logo=reactquery&logoColor=white" />
51+
<img src="https://img.shields.io/badge/Zustand-433E38?style=flat-square" />
52+
<img src="https://img.shields.io/badge/Turborepo-FF1E56?style=flat-square&logo=turborepo&logoColor=white" />
53+
<img src="https://img.shields.io/badge/pnpm-F69220?style=flat-square&logo=pnpm&logoColor=white" />
54+
</p>
55+
56+
<br>
57+
58+
**Backend**
59+
<p>
60+
<img src="https://img.shields.io/badge/Java-007396?style=flat-square&logo=openjdk&logoColor=white" />
61+
<img src="https://img.shields.io/badge/Spring_Boot-6DB33F?style=flat-square&logo=spring-boot&logoColor=white" />
62+
<img src="https://img.shields.io/badge/Spring_Security-6DB33F?style=flat-square&logo=spring-security&logoColor=white" />
63+
<img src="https://img.shields.io/badge/JPA-6DB33F?style=flat-square&logo=hibernate&logoColor=white" />
64+
<img src="https://img.shields.io/badge/OAuth2-000000?style=flat-square" />
65+
</p>
66+
67+
<br>
68+
69+
**AI**
70+
<p>
71+
<img src="https://img.shields.io/badge/Python-3776AB?style=flat-square&logo=python&logoColor=white" />
72+
<img src="https://img.shields.io/badge/FastAPI-009688?style=flat-square&logo=fastapi&logoColor=white" />
73+
<img src="https://img.shields.io/badge/Anthropic_Claude-D97757?style=flat-square&logoColor=white" />
74+
</p>
75+
76+
<br>
77+
78+
**DB**
79+
<p>
80+
<img src="https://img.shields.io/badge/PostgreSQL-4169E1?style=flat-square&logo=postgresql&logoColor=white" />
81+
<img src="https://img.shields.io/badge/Redis-DC382D?style=flat-square&logo=redis&logoColor=white" />
82+
<img src="https://img.shields.io/badge/MongoDB-47A248?style=flat-square&logo=mongodb&logoColor=white" />
83+
<img src="https://img.shields.io/badge/ChromaDB-000000?style=flat-square" />
84+
</p>
85+
86+
<br>
87+
88+
**Infra**
89+
<p>
90+
<img src="https://img.shields.io/badge/AWS_EC2-FF9900?style=flat-square&logo=amazonec2&logoColor=white" />
91+
<img src="https://img.shields.io/badge/AWS_RDS-527FFF?style=flat-square&logo=amazonrds&logoColor=white" />
92+
<img src="https://img.shields.io/badge/AWS_S3-569A31?style=flat-square&logo=amazons3&logoColor=white" />
93+
<img src="https://img.shields.io/badge/Nginx-009639?style=flat-square&logo=nginx&logoColor=white" />
94+
<img src="https://img.shields.io/badge/Docker-2496ED?style=flat-square&logo=docker&logoColor=white" />
95+
<img src="https://img.shields.io/badge/Docker_Compose-2496ED?style=flat-square&logo=docker&logoColor=white" />
96+
<img src="https://img.shields.io/badge/Cloudflare-F38020?style=flat-square&logo=cloudflare&logoColor=white" />
97+
<img src="https://img.shields.io/badge/GitHub_Actions-2088FF?style=flat-square&logo=githubactions&logoColor=white" />
98+
</p>
99+
100+
<br>
101+
102+
## System Architecture
103+
<img width="939" height="877" alt="클라우드 아키텍처 v3 (2)" src="https://github.com/user-attachments/assets/2ddb787b-b307-4ff1-a76b-c03a2b9834ce" />
104+
105+
<br>
106+
<br>
107+
108+
## DEMO
109+
110+
|랜딩 페이지|로그인 / 회원가입|
111+
|---|---|
112+
|![image](https://github.com/user-attachments/assets/783f508d-ff4c-435b-8c19-14013d32390d)|![image](https://github.com/user-attachments/assets/207d77a9-6896-42b9-992a-c9e050489bba)|
113+
114+
|가견적서 생성|리스크 진단 결과|
115+
|---|---|
116+
|![image](https://github.com/user-attachments/assets/8ecb02ad-3fe8-4a3b-9cdb-10e9eed5c180)|![image](https://github.com/user-attachments/assets/647e996a-cc5d-47c3-9dd6-496f31d5a463)|
117+
118+
119+
|홈 대시보드|AI 챗봇|
120+
|---|---|
121+
|![image](https://github.com/user-attachments/assets/cd93a279-9597-4ba8-a228-bb448b4b537d)|![image](https://github.com/user-attachments/assets/3ee6ae30-be96-4f0f-888a-49860a584277)|
122+
123+
124+
|관리자 - 사용자 목록|관리자 - 사용자 상세|
125+
|---|---|
126+
|![image](https://github.com/user-attachments/assets/fbeb95b6-c271-4378-a1ae-f451ce4ce563)|![image](https://github.com/user-attachments/assets/40e4fabb-e912-4ad4-95f1-b5b2b237d09c)|
127+
128+
129+
<br>
130+
131+
## Member
132+
133+
| <img width="130px" src="https://avatars.githubusercontent.com/dyk-im" /> | <img width="130px" src="https://avatars.githubusercontent.com/seoshinehyo" /> | <img width="130px" src="https://avatars.githubusercontent.com/KyeongJooni" /> | <img width="130px" src="https://avatars.githubusercontent.com/tmdcks1103" /> | <img width="130px" src="https://avatars.githubusercontent.com/Kim-Dongdong" /> | <img width="130px" src="https://avatars.githubusercontent.com/bulee5328" /> |
134+
|:---:|:---:|:---:|:---:|:---:|:---:|
135+
| PM, BE | BE | FE | FE | AI | AI |
136+
| [김동윤](https://github.com/dyk-im) | [서상효](https://github.com/seoshinehyo) | [이경준](https://github.com/KyeongJooni) | [김승찬](https://github.com/tmdcks1103) | [김동섭](https://github.com/Kim-Dongdong) | [이병웅](https://github.com/bulee5328) |
137+
138+
<img width="1920" height="1080" alt="문어 마무리 장표" src="https://github.com/user-attachments/assets/52f5be97-6bb9-4b32-83ed-48331b35bee4" />

0 commit comments

Comments
 (0)