ekcapaper
1. 구현 개요
ServiceCodeCenter(SCC)는 프론트엔드 코드, 백엔드 코드, IDE 환경, 그리고 Docker 볼륨을 이용한 Conda 환경 공유를 기반으로 설계 및 구현되었습니다.
•
프론트엔드 코드: UI/UX를 담당하며 백엔드와 연동,
•
백엔드 코드: 서비스 관리 및 실행 로직을 담당
•
IDE: 개발 환경 제공
•
Docker 볼륨: Conda 환경을 공유하여 일관된 개발 및 실행 환경 보장
2. 시스템 구성
2.1 구성 요소
프론트엔드 (Frontend)
•
역할: UI/UX 제공 및 사용자 입력 처리
•
주요 기술 스택:
◦
프레임워크: React.js
◦
API 통신: Axios
•
주요 기능:
◦
프로젝트 정보 표시
◦
모듈 ON/OFF 버튼
◦
모니터링 대시보드
프론트엔드와 백엔드 연동:
•
REST API를 통해 백엔드와 데이터 교환
백엔드 (Backend + Conda)
•
역할: 서비스 관리 및 실행, API 제공
•
주요 기술 스택:
◦
언어: Python (FastAPI)
◦
환경 관리: Conda
•
주요 기능:
◦
프로젝트 생성 및 관리
◦
모듈 ON/OFF 제어
◦
상태 모니터링 API 제공
백엔드와 프론트엔드 연동:
•
REST API
IDE (Theia IDE + Conda)
•
역할: 개발 및 테스트 환경 제공
•
환경 관리: Conda (Docker 볼륨을 통해 공유됨)
•
기능:
◦
코드 작성 및 테스트
◦
디버깅 및 실행
◦
가상 Conda 환경으로 일관된 개발 환경 보장
IDE와 Conda 연동:
•
Docker 볼륨을 통해 Conda 환경 공유
•
개발자가 동일한 환경에서 개발 및 테스트 가능
Docker 볼륨 및 Conda 환경 공유
•
역할: 동일한 Conda 환경을 IDE와 백엔드에서 공유
•
주요 기능:
◦
Conda 환경을 Docker 볼륨으로 공유하여 일관된 개발/운영 환경 유지
◦
환경 차이로 인한 오류 최소화
3. 실행 흐름
3.1 프로젝트 생성
1.
개발자가 IDE에 접속
2.
새 프로젝트를 생성
3.
환경 설정 (Conda 환경)
3.2 코드 작성 및 테스트
1.
개발자가 IDE에서 코드를 작성
2.
코드 실행 및 테스트
3.
테스트 결과 확인
3.3 프로젝트 실행 및 모니터링
1.
운영자가 실행 관리 도구 접속
2.
모듈 ON/OFF 버튼으로 서비스 제어
3.
모니터링 대시보드에서 상태 확인
3.4 서비스 간 통신
1.
백엔드 API를 통해 데이터 교환
2.
필요시 데이터베이스 연동 (SQL, NoSQL, In-Memory 지원)
5. Docker 실행 절차
1.
Docker Compose 실행
docker-compose up --build -d
Shell
복사
2.
상태 확인
docker-compose ps
Shell
복사
3.
서비스 접근
•
IDE: http://localhost:3000
•
실행 관리 도구: http://localhost:3001
•
백엔드 : http://localhost:8000
4.
로그 확인
docker-compose logs -f
Shell
복사
5.
종료
docker-compose down
Shell
복사