Post

CygnusLauncher 작업일지(1일차) - 첫 발걸음과 초기 설정

CygnusLauncher 프로젝트의 첫 번째 작업 일지. 프로젝트 구상

CygnusLauncher 작업일지(1일차) - 첫 발걸음과 초기 설정

1일차 작업 개요

CygnusLauncher 프로젝트의 첫 번째 작업으로, repository를 생성하고 구상을 진행했다. 이 작업일지에서는 프로젝트의 목표, 첫 번째 작업 내용, 직면한 문제, 해결 방안, 그리고 앞으로의 계획을 기록한다.


프로젝트 목표

CygnusLauncher는 Ubuntu 시스템에서 경량화된, 사용자 맞춤형 시스템 런처이다. 이 프로젝트는 빠른 프로그램 접근, 실시간 시스템 모니터링, 외부 API 연동 기능을 통해 생산성을 향상시키는 것을 목표로 하고 있다. ROBIT에서 C++과 Qt 교육을 받고 진행하는 메인 프로젝트이며, C++Qt를 활용해 부드러운 UI 인터랙션과 Ubuntu 환경과의 원활한 연동을 구현하기 위해 본 프로젝트를 시작하게 되었다.

오늘의 작업

1. 개발 환경 설정

  • Repository 생성: 프로젝트를 관리하기 위해 Github에서 repository를 생성했다.
  • Qt 설치: 프로젝트에 필요한 Qt 개발 환경을 Ubuntu에 설치했다.
  • git 설정: 버전 컨트롤을 위해 git을 사용했다.

2. 프로젝트 초기 구상

CygnusLauncher는 Ubuntu 환경에서 동작하는 SAO Launcher 스타일의 시스템 런처이다. 사용자가 빠르고 직관적으로 시스템과 상호작용할 수 있도록 다양한 기능을 제공하며, 생산성 향상을 목표로 하고 있다.

CygnusLauncher의 주요 기능은 다음과 같이 구성된다:

  1. 설치된 프로그램 실행: 사용자가 자주 사용하는 프로그램을 단축키커스터마이징된 아이콘을 통해 빠르게 실행할 수 있다. 사용자가 런처에 직접 프로그램을 추가하고, 각 프로그램을 쉽게 실행할 수 있는 인터페이스를 제공한다.

  2. 뉴스 API 연동: openweathermap API와 같은 외부 API를 통해 최신 뉴스 및 날씨 정보를 받아와 런처 UI에 표시한다. 사용자는 실시간 정보를 런처에서 확인할 수 있고, 여러 프로그램을 실행할 필요 없이 간편하게 정보를 확인할 수 있다.

  3. 시스템 모니터링: CPU 사용량, 메모리 사용량 등 시스템 자원을 실시간으로 모니터링하는 기능을 제공한다. 사용자에게 시각적으로 CPU, 메모리 상태를 보여주며, 시스템 상태에 맞춘 알림 기능도 추가할 예정이다.

  4. 키 입력에 따른 상호작용(EXP 시스템): 런처 내에 EXP 시스템을 적용하여, 사용자의 특정 동작(프로그램 실행, API 호출 등)에 따라 가상 캐릭터가 레벨업하는 시스템을 도입하려고 한다. 이 기능을 통해 사용자 경험을 더욱 재미있고 몰입감 있게 만들 수 있다고 생각한다.

CygnusLauncher의 주요 레퍼런스는 다음과 같다:

  1. SAO Launcher Utils (http://www.gpbeta.com/en/post/develop/sao-utils-beta/) - 이 레퍼런스를 통해 기본적인 런처 UI의 동작과 스타일을 참고하려고 한다. 다만, 애니메이션 처리 부분은 복잡하다고 생각하기에 제외했다.
  2. MyRobotOnline (https://github.com/kinesis19/MyRobotOnline) - 작성자가 예전에 진행한 비슷한 프로젝트이다. 이 프로젝트에서 데이터 처리 및 시스템 상호작용을 참고하려고 한다.


앞으로의 계획

[2일차]

  • 칸반보드 제작: 문서 관리를 위해 사용하고 있는 Obsidian에서 칸반보드 및 프로젝트 진행 상황을 파악하기 위한 문서 설정을 진행한다.
  • 기능 설계: 프로젝트의 핵심이 되는 기능과 세부적인 기능을 설계한다.
  • UI 설계: 프로젝트의 UI 프로토타입을 설계한다. 예전에 사용해 본 적이 있는 Figma에서 UI 설계를 진행할 예정이다.

[3일차]

  • 프로젝트 설정: Qt 프로젝트를 생성하고 세부 설정을 진행한다.
  • UI 구현: 설계해 놓은 UI를 구현한다.


결론

CygnusLauncher 프로젝트의 첫 번째 날은 환경 설정과 초기 구상에 중점을 두었다. 다음 작업일지에서는 기능 설계와 UI 설계를 중점으로 다룰 예정이다.

This post is licensed under CC BY 4.0 by the author.