Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

연구의숲 (Research Forest)

연구실 협업을 위한 통합 플랫폼


기술 스택

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

Frontend 실행

cd frontend/frontend
npm install
npm start

Backend 실행

cd backend/backend
pip install -r requirements.txt
python run_server.py

환경변수 설정

Backend .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/새게시판',
  // ... 기타 설정
}

별도 라우터 추가 없이 자동으로 동작합니다.


API 엔드포인트

구분 Prefix 설명
인증 /api/auth 로그인, 회원가입, 토큰
게시판 /api/board 게시글 CRUD
첨부파일 /api/attachment 파일 업로드/다운로드
채팅 /api/chat 채팅 REST API
관리자 /api/admin 사용자/시스템 관리
WebSocket /ws 실시간 통신

기여 방법

  1. 이 저장소를 Fork
  2. 기능 브랜치 생성 (git checkout -b feature/기능명)
  3. 변경사항 커밋 (git commit -m '기능 추가')
  4. 브랜치에 Push (git push origin feature/기능명)
  5. Pull Request 생성

라이선스

Private - 연구실 내부용

About

연구의숲은 연구실 구성원의 연구 활동과 내부 운영을 체계적으로 기록하고 공유하기 위한 공간입니다. 연구 과정에서 생성되는 문서, 자료, 코드, 데이터 등을 구조적으로 관리하는 것을 목표로 합니다. 연구 및 운영 관련 문서는 docs 디렉터리에 정리되어 있습니다.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors