Skip to content

yjoonh/workhub

Repository files navigation

WorkHub - AI 그룹웨어

AI 기반 그룹웨어 데모 서비스

Next.js TypeScript SQLite Docker Groq

주요 기능

  • 파일 탐색기: Google Drive 스타일의 직관적인 파일 관리
  • AI 자연어 검색: "2025년 연말결산 폴더에 무슨 파일이 있어?" 같은 자연어로 파일 검색 (Groq LLaMA 3.3 70B)
  • AI 파일 요약: PDF/DOCX/TXT 등 문서 내용 자동 요약 (Groq LLaMA 3.3 70B)
  • 칸반 보드: 팀 업무 태스크 관리 (드래그 앤 드롭)
  • 조직도 / 직원 현황: 부서별 직원 정보 및 재직 상태
  • 다크모드: 눈에 편안한 다크/라이트 테마

기술 스택

영역 기술
프레임워크 Next.js 14 (App Router)
UI shadcn/ui + Tailwind CSS
DB SQLite + Drizzle ORM
AI Groq API - LLaMA 3.3 70B (Function Calling)
파일 저장 로컬 파일시스템 (Docker 볼륨)
배포 Docker Compose

시작하기

필수 요구사항

  • Node.js 20+
  • Groq API Key (발급)

로컬 개발 환경 설정

  1. 의존성 설치
git clone https://github.com/yjoonh/workhub.git
cd workhub
npm install
  1. 환경 변수 설정
cp .env.example .env.local

.env.local 파일에 Groq API 키를 입력하세요:

GROQ_API_KEY=your_actual_api_key_here
  1. DB 초기화
npm run db:push
  1. 개발 서버 실행
npm run dev

http://localhost:3000/project/workhub 에서 확인

Docker 배포

  1. 환경 변수 설정
cp .env.example .env
# .env 파일에 GROQ_API_KEY 입력
  1. 빌드 및 실행
docker compose up -d --build

컨테이너 최초 실행 시 데모 DB와 샘플 파일이 자동으로 초기화됩니다. 이후 재시작 시에는 기존 데이터가 유지됩니다 (방문자 업로드 파일 포함).

프로젝트 구조

workhub/
├── src/
│   ├── app/                  # Next.js App Router
│   │   ├── api/              # Route Handlers
│   │   │   ├── files/        # 파일 CRUD API
│   │   │   ├── folders/      # 폴더 CRUD API
│   │   │   ├── ai/           # AI 채팅 / 요약 API
│   │   │   ├── tasks/        # 칸반 태스크 API
│   │   │   └── users/        # 사용자 API
│   │   ├── files/            # 파일 탐색기 페이지
│   │   ├── kanban/           # 칸반 보드 페이지
│   │   ├── dashboard/        # 대시보드 페이지
│   │   ├── team/             # 조직도 페이지
│   │   └── ai/               # AI 채팅 페이지
│   ├── components/
│   │   ├── ui/               # shadcn/ui 컴포넌트
│   │   └── file-explorer/    # 파일 탐색기 컴포넌트
│   ├── db/
│   │   ├── schema.ts         # Drizzle 스키마
│   │   ├── index.ts          # DB 연결
│   │   └── seed.ts           # 데모 시드 데이터
│   └── lib/
│       └── ai/               # Groq Function Calling 로직
├── drizzle/                  # 마이그레이션 파일
├── uploads/                  # 데모용 초기 샘플 파일
├── workhub.db                # 데모 초기 DB (Docker 빌드용)
├── Dockerfile
├── docker-compose.yml
└── entrypoint.sh             # 컨테이너 시작 스크립트

AI 기능 사용 예시

AI 채팅에서 다음과 같은 명령을 사용할 수 있습니다:

  • "2025년 연말결산 폴더에 무슨 파일이 있어?"
  • "PDF 파일 전부 찾아줘"
  • "마케팅 폴더 구조 보여줘"
  • "배포 체크리스트 파일 요약해줘"
  • "엑셀 파일 몇 개야?"

개발 스크립트

npm run dev          # 개발 서버 실행
npm run build        # 프로덕션 빌드
npm run db:push      # DB 스키마 적용
npm run db:studio    # Drizzle Studio 실행

제한사항 (데모용)

  • 파일당 최대 10MB / 총 저장공간 500MB
  • Groq 무료 티어: 분당 10회 / 일 50회 rate limit 적용
  • 로그인 없음 (데모 계정 자동 할당)

라이선스

MIT

About

AI 기반 그룹웨어 데모 서비스

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages