22
33> ** 지구를 생각하는 AI 채팅 플랫폼** 🌱
44
5- Optimo는 AI 사용 시 발생하는 전력 소비를 고려하여, 필요할 때만 AI의 힘을 사용하는 스마트한 채팅 플랫폼입니다.
5+ Optimo는 AI 사용 시 발생하는 전력 소비와 탄소배출을 고려하여, ** Net Zero** 달성을 위한 스마트한 AI 사용을 제안하는 플랫폼입니다. 필요할 때 적합한 AI의 힘을 사용하여 환경에 미치는 영향을 최소화합니다.
6+
7+ ## 🌍 Net Zero 미션
8+
9+ - ** 탄소배출 추적** : AI 사용으로 인한 탄소발자국 실시간 모니터링
10+ - ** 친환경 사용 가이드** : 탄소중립을 위한 AI 사용 최적화 제안
11+ - ** Net Zero 목표 설정** : 개인별 탄소중립 달성 목표 및 진행률 추적
612
713## 🚀 기술 스택
814
9- - ** Framework** : Next.js 14.2.30 (App Router)
15+ - ** Framework** : Next.js 14 (App Router)
1016- ** Language** : JavaScript (ES6+)
1117- ** Styling** : Tailwind CSS 3.4.1
1218- ** State Management** : React Context API
@@ -15,6 +21,39 @@ Optimo는 AI 사용 시 발생하는 전력 소비를 고려하여, 필요할
1521- ** Authentication** : JWT Token (쿠키 기반)
1622- ** Real-time Communication** : WebSocket
1723
24+ ## ⚡ 핵심 기능
25+
26+ ### 🔐 ** 간편 로그인 시스템**
27+ - ** 이메일만으로 로그인** : 복잡한 비밀번호 없이 이메일 주소만 입력
28+ - ** 자동 세션 관리** : 브라우저를 닫아도 로그인 상태 유지
29+ - ** 보안 토큰** : JWT 기반 안전한 인증
30+
31+ ### 💬 ** 스마트 AI 채팅**
32+ - ** 실시간 대화** : AI와 즉시 소통 가능
33+ - ** 마크다운 지원** : 코드 블록, 링크, 이미지 등 풍부한 텍스트 표현
34+ - ** 수학 공식 렌더링** : KaTeX를 통한 수학 공식 표시
35+ - ** 채팅 히스토리** : 이전 대화 내용 저장 및 관리
36+ - ** 새 채팅 시작** : 언제든지 새로운 대화 시작 가능
37+
38+ ### 📊 ** 탄소배출 추적 시스템**
39+ - ** 실시간 탄소발자국 계산** : AI 사용 시 발생하는 CO2 배출량 추적
40+ - ** 전력 소비량 모니터링** : AI 사용으로 인한 전력 소비 실시간 추적
41+ - ** 환경 영향 환산** : 탄소배출량을 나무 심기, 자동차 주행거리 등으로 환산
42+ - ** Net Zero 진행률** : 개인별 탄소중립 달성 목표 및 진행 상황 표시
43+ - ** 친환경 사용 패턴 분석** : 효율적인 AI 사용으로 탄소배출 최소화 가이드
44+
45+ ### 🎨 ** 직관적인 사용자 인터페이스**
46+ - ** 다크 테마** : 눈의 피로도를 줄이는 어두운 배경
47+ - ** 사이드바 네비게이션** : 한 번의 클릭으로 페이지 이동
48+ - ** 반응형 디자인** : 모바일, 태블릿, 데스크톱 모든 기기 지원
49+ - ** 부드러운 애니메이션** : 사용자 경험을 향상시키는 인터랙션
50+
51+ ### 👤 ** 개인화된 프로필 관리**
52+ - ** 사용자 정보 관리** : 이름, 이메일, 프로필 이미지 설정
53+ - ** 탄소중립 목표 설정** : 개인별 Net Zero 달성 목표 설정
54+ - ** 환경 친화 점수** : AI 사용 효율성 및 탄소배출 감소 점수 제공
55+ - ** 환경 기여도 시각화** : 개인이 절약한 탄소량을 시각적으로 표현
56+
1857## 📁 프로젝트 구조
1958
2059```
@@ -53,15 +92,13 @@ cd optimo_fe
5392### 2. 의존성 설치
5493``` bash
5594npm install
56- # 또는
57- yarn install
58- ```
5995
6096# ## 3. 환경 변수 설정
6197프로젝트 루트에 ` .env.local` 파일을 생성하고 다음을 추가하세요:
6298
6399` ` ` env
64- NEXT_PUBLIC_API_URL=http://localhost:3001/api
100+ NEXT_PUBLIC_API_URL=
101+ NEXT_PUBLIC_CHATAPI_URL=
65102` ` `
66103
67104# ## 4. 개발 서버 실행
@@ -73,56 +110,45 @@ yarn dev
73110
74111브라우저에서 [http://localhost:3000](http://localhost:3000)을 열어 확인하세요.
75112
76- ## 🔧 주요 기능
113+ # # 🎯 사용 방법
77114
78- ### 인증 시스템
79- - 이메일 기반 로그인
80- - JWT 토큰 자동 갱신
81- - 로컬 스토리지를 통한 세션 유지
115+ # ## 1. **로그인하기**
116+ - 홈페이지에서 이메일 주소 입력
117+ - " 제출" 버튼 클릭으로 즉시 로그인
82118
83- ### 채팅 기능
84- - 실시간 AI 채팅
85- - 마크다운 렌더링 지원
86- - 수학 공식 (KaTeX) 지원
87- - 채팅 히스토리 관리
119+ # ## 2. **AI와 대화하기**
120+ - 사이드바의 채팅 아이콘 클릭
121+ - 메시지 입력 후 전송
88122
89- ### UI/UX
90- - 다크 테마
91- - 반응형 디자인
92- - 애니메이션 효과
93- - 사이드바 네비게이션
123+ # ## 3. **탄소배출량 확인하기**
124+ - 사이드바의 개요 아이콘 클릭
125+ - 실시간 탄소발자국 및 아낀 전력 소비량 확인
126+ - Net Zero 달성 진행률 확인
127+ - 친환경 AI 사용 가이드 참고
94128
95129# # 🎨 디자인 시스템
96130
97131# ## 색상 팔레트
98- - ** Primary** : ` #84cc16 ` (Lime-400)
99- - ** Background** : ` #1F2123 ` (Dark Gray)
100- - ** Text** : ` #ffffff ` (White)
101- - ** Secondary Text** : ` #9ca3af ` (Gray-400)
132+ - ** Primary** : ` # 84cc16` (Lime-400) - 환경 친화적 그린, Net Zero 상징
133+ - ** Background** : ` # 1F2123` (Dark Gray) - 눈의 피로도 감소
134+ - ** Text** : ` # ffffff` (White) - 높은 가독성
135+ - ** Secondary Text** : ` # 9ca3af` (Gray-400) - 부드러운 대비
102136
103137# ## 폰트
104- - ** Sans** : Geist Sans (Variable Font)
105- - ** Mono** : Geist Mono (Variable Font)
138+ - ** Sans** : Geist Sans (Variable Font) - 현대적이고 깔끔한 디자인
139+ - ** Mono** : Geist Mono (Variable Font) - 코드 및 수학 공식용
140+
141+ # ## 애니메이션
142+ - ** Glow Effect** : 빛나는 점 효과로 미래지향적 느낌
143+ - ** Slide Up** : 부드러운 등장 애니메이션
144+ - ** Hover Effects** : 인터랙티브한 사용자 경험
106145
107146# # 📱 페이지 구조
108147
1091481. ** 홈페이지 (` /` )** : 로그인 화면
1101492. ** 채팅 (` /chat` )** : AI 채팅 인터페이스
111- 3 . ** 개요 (` /overview ` )** : 사용 통계 및 개요
112- 4 . ** 프로필 (` /profile ` )** : 사용자 프로필 관리
113-
114- ## 🔌 API 연동
115-
116- ### API 클라이언트 특징
117- - 자동 토큰 갱신
118- - 401 에러 시 자동 재시도
119- - 쿠키 기반 인증
120- - axios와 동일한 인터페이스
121-
122- ### 주요 API 엔드포인트
123- - ` GET /api/user/info ` - 사용자 정보 조회
124- - ` POST /api/auth/refresh ` - 토큰 갱신
125- - ` POST /api/chat ` - 채팅 메시지 전송
150+ 3. ** 개요 (` /overview` )** : 탄소배출량 및 Net Zero 진행률
151+ 4. ** 프로필 (` /profile` )** : 환경 친화 목표 및 개인 통계
126152
127153# # 🚀 배포
128154
@@ -136,8 +162,6 @@ npm run build
136162npm start
137163` ` `
138164
139- ### 환경 변수
140- 프로덕션 환경에서는 ` NEXT_PUBLIC_API_URL ` 을 실제 API 서버 URL로 설정하세요.
141165
142166# # 🧪 개발 가이드
143167
@@ -157,25 +181,6 @@ npm start
157181- Props 타입 검증 권장
158182- 재사용 가능한 컴포넌트로 분리
159183
160- ## 🔍 디버깅
161-
162- ### 개발자 도구
163- - React Developer Tools
164- - Next.js 개발 서버의 자동 리로드
165- - 브라우저 개발자 도구
166-
167- ### 로그 확인
168- - 콘솔에서 API 요청/응답 로그 확인
169- - 인증 상태 변경 로그
170- - WebSocket 연결 상태 로그
171-
172- ## 🤝 기여하기
173-
174- 1 . Fork the repository
175- 2 . Create your feature branch (` git checkout -b feature/AmazingFeature ` )
176- 3 . Commit your changes (` git commit -m 'Add some AmazingFeature' ` )
177- 4 . Push to the branch (` git push origin feature/AmazingFeature ` )
178- 5 . Open a Pull Request
179184
180185# # 📄 라이선스
181186
@@ -187,4 +192,4 @@ npm start
187192
188193---
189194
190- ** Optimo** - 지구를 생각하는 스마트한 AI 선택 🌍
195+ ** Optimo** - Net Zero를 위한 스마트한 AI 선택 🌍♻️
0 commit comments