Search

ServiceCodeCenter (SCC) 시스템 설계 및 구현

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
복사