프로젝트 개요
PC의 퍼포먼스 정보를 원하는 장비에서 확인 가능한 대시보드 애플리케이션
사용자의 PC에서 CPU, GPU, Memory, Network 정보를 가져와 HTTP API와 WebSocket을 통해 서버를 구현, 클라이언트에서 해당 정보를 받아 직관적으로 보여주는 애플리케이션입니다.
GitHub Actions를 통해 서버와 클라이언트를 자동으로 빌드, 배포하는 CI/CD 파이프라인을 구축했습니다.
개발 기간
2023.12 (1주 이내)
주요 업무
- 서버
- Go 언어와 Mux를 통해 웹 서버 구축
- WebSocket을 통해 실시간 정보를 제공
- HTTP를 통해 디바이스 정보 제공
- Gopsutil 패키지를 통해 Memory, CPU 정보 수집
- Nvidia-smi를 통해 Nvidia GPU 정보 수집
- Net 패키지를 통해 네트워크 정보 수집
- 클라이언트
- Flutter를 통해 크로스플랫폼 애플리케이션 개발
- WebSocket과 통신하여 실시간으로 PC의 퍼포먼스 정보 수집
- Github Actions를 통해 빌드, 배포 자동화
사용 기술
- 언어 : Go, Dart
- 프레임워크 : Flutter
TroubleShooting
Job 간 파일 공유 불가 이슈
- 개요 : Github Actions에서 여러개의 Job으로 분리되어 있을 때, 이전 Job에서 작업한 파일을 찾을 수 없는 문제