연구실 협업을 위한 통합 플랫폼
| Frontend | Backend | Database |
|---|---|---|
| React 18 | FastAPI | MongoDB |
| React Router v6 | Python 3.11+ | |
| Context API | JWT Auth |
.
├── frontend/ # React 프론트엔드
│ └── src/
│ ├── api/ # API 호출 함수
│ ├── components/# 재사용 컴포넌트
│ ├── config/ # 설정 (게시판 등)
│ ├── contexts/ # 전역 상태
│ ├── pages/ # 페이지 컴포넌트
│ ├── services/ # 인증/API 서비스
│ └── utils/ # 유틸리티
│
├── backend/ # FastAPI 백엔드
│ └── app/
│ ├── core/ # 설정, DB 연결
│ ├── models/ # 데이터 모델
│ ├── routers/ # API 엔드포인트
│ ├── schemas/ # Pydantic 스키마
│ ├── services/ # 비즈니스 로직
│ └── utils/ # 유틸리티
│
└── docs/ # 개발 문서
| 문서 | 설명 |
|---|---|
| PROJECT_STRUCTURE.md | 프로젝트 전체 구조 및 개요 |
| FRONTEND_GUIDE.md | 프론트엔드 상세 가이드 |
| BACKEND_GUIDE.md | 백엔드 상세 가이드 |
| QUICK_REFERENCE.md | 빠른 참조 치트시트 |
| ARCHITECTURE.md | 시스템 아키텍처 다이어그램 |
- Node.js 18+
- Python 3.11+
- MongoDB
cd frontend/frontend
npm install
npm startcd backend/backend
pip install -r requirements.txt
python run_server.pyBackend .env 파일 생성:
HOST_IP=your-server-ip
MONGO_URI=mongodb://localhost:27017
SECRET_KEY=your-jwt-secret-key
DATABASE_NAME=research_forest- 게시판 시스템 (자유게시판, 연구자료, 논문게시판 등)
- 사용자 인증 (회원가입, 로그인, 이메일 인증)
- 파일 첨부 및 관리
- 실시간 채팅 (WebSocket)
- AI 연동 기능
- 관리자 대시보드
frontend/frontend/src/config/boardConfig.js 파일에 설정 추가:
'새게시판': {
name: '새게시판',
title: '새 게시판',
description: '설명',
apiCategory: '새게시판',
routePath: '/community/새게시판',
// ... 기타 설정
}별도 라우터 추가 없이 자동으로 동작합니다.
| 구분 | Prefix | 설명 |
|---|---|---|
| 인증 | /api/auth |
로그인, 회원가입, 토큰 |
| 게시판 | /api/board |
게시글 CRUD |
| 첨부파일 | /api/attachment |
파일 업로드/다운로드 |
| 채팅 | /api/chat |
채팅 REST API |
| 관리자 | /api/admin |
사용자/시스템 관리 |
| WebSocket | /ws |
실시간 통신 |
- 이 저장소를 Fork
- 기능 브랜치 생성 (
git checkout -b feature/기능명) - 변경사항 커밋 (
git commit -m '기능 추가') - 브랜치에 Push (
git push origin feature/기능명) - Pull Request 생성
Private - 연구실 내부용