790d12fe131485a75c79be6c6a881f69bd85279d
🔐 토큰 만료 시 자동 로그아웃 기능: 1. JWT 토큰 만료 시간 대폭 연장: - 액세스 토큰: 24시간 → 7일 - 리프레시 토큰: 7일 → 30일 - 사용자 편의성 크게 향상 2. 토큰 만료 감지 및 처리: - isTokenExpired() 함수 추가 - JWT 페이로드 파싱하여 exp 확인 - 현재 시간과 비교하여 만료 여부 판단 3. 자동 로그아웃 처리: - API 호출 시 401 오류 감지 - 주기적 토큰 만료 확인 (5분마다) - 만료 시 자동 인증 데이터 정리 - 사용자 알림 후 로그인 페이지 리다이렉트 4. 개선된 인증 데이터 관리: - clearAuthData() 함수로 통합 관리 - token, user, userInfo, currentUser 모두 정리 - 메모리 누수 방지 🐛 데이터베이스 테이블명 수정: 1. projectModel.js: - Projects → projects (대문자 → 소문자) - 실제 DB 테이블명과 일치 2. taskModel.js: - Tasks → tasks (대문자 → 소문자) - 실제 DB 테이블명과 일치 3. API 오류 해결: - '테이블이 존재하지 않습니다' 오류 수정 - projects, tasks API 정상 작동 ✅ 사용자 경험 개선: - 토큰 만료로 인한 예상치 못한 오류 방지 - 명확한 만료 알림 메시지 - 자동 로그아웃으로 보안 강화 - 더 긴 세션 유지로 편의성 향상 🔧 기술적 개선: - JWT 페이로드 안전한 파싱 - 에러 핸들링 강화 - 주기적 백그라운드 확인 - 전역 함수로 재사용성 향상 🎯 결과: - 안정적인 인증 시스템 - 사용자 친화적인 세션 관리 - 보안성과 편의성의 균형 - API 호출 오류 해결 테스트: - 토큰 만료 후 자동 로그아웃 확인 - projects, tasks API 정상 작동 확인
TK-FB-Project - 통합 실행 가이드
🚀 한 번에 모든 서비스 실행
🎯 간편 실행 (권장)
cd /Users/hyungi/docker/TK-FB-Project
./start.sh
🛑 간편 중지
./stop.sh
📋 직접 실행
docker-compose up -d
docker-compose down
📊 서비스 목록
| 서비스 | 포트 | 접속 URL | 설명 |
|---|---|---|---|
| 웹 UI | 20000 | http://localhost:20000 | 메인 웹 인터페이스 |
| API 서버 | 20005 | http://localhost:20005 | Node.js API 서버 ✅ |
| FastAPI 브릿지 | 20010 | http://localhost:20010 | Python FastAPI 서비스 |
| phpMyAdmin | 20080 | http://localhost:20080 | DB 관리도구 |
| MariaDB | 20306 | - | 데이터베이스 서버 |
🛠️ 관리 명령어
모든 서비스 중지
cd /Users/hyungi/docker/TK-FB-Project
docker-compose down
서비스 상태 확인
docker ps | grep fb_
로그 확인
docker-compose logs -f
💾 데이터베이스 정보
- 호스트: localhost:20306
- 데이터베이스: hyungi
- 사용자: hyungi
- 비밀번호: hyungi_password_2025
- Root 비밀번호: hyungi_root_password_2025
✨ 주요 개선사항
- 통합 실행: 한 번의 명령으로 모든 서비스 실행
- 깔끔한 DB 초기화: 마이그레이션 오류 해결
- 일관된 네이밍: fb_ 접두사로 컨테이너 구분
- 안정적인 포트: 20000번대 포트 사용
Description
Languages
Python
81.2%
JavaScript
8.5%
HTML
7.1%
CSS
1.6%
Cython
0.8%
Other
0.7%