프로젝트 평가 기준
실습 주제 : 다음 중 택 1
- 고객 관리 프로그램
- 미니게임
- 간편주소록
- 일정관리
- 간편 계좌 관리
평가 기준 : 데이터 입력, 수정, 삭제, 검색 기능 필수 포함
- 완성도(80) : UI(20), 기능구현(30), 코드(30)
- 부가기능(10) - 외부 리소스 활용도(10)
- 문서(10) - 기획서(양식 자유)
팀원 1 명과 함께 일정관리 어플리케이션을 제작하였다.
Git에 대해서 특히나 많은 것을 배울 수 있었다.
git branch : 현재 로컬의 branch를 반환
git branch name : name인 branch를 로컬에 추가한다.
git branch -a : 모든 branch를 보여준다.
git checkout : 특정 commit으로 이동하거나 branch로 이동하는 데 사용한다. 자동으로 로컬 내용이 갱신된다.(중요!!)
git fetch : 로컬에 원격 저장소의 최신 메타데이터 정보를 확인, 단 변경 사항이 있더라도 변경된 데이터를 가지고 오지 않는다(확인용)
git pull : git fetch 기능을 수행하면서도 최신 데이터를 복사하여 로컬에 가져온다.
git add : 변경된 내용을 반영한다.
git commit : 변경 사항과 커밋 메시지를 작성한다.
git push : 저장소에 변경 사항을 반영한다. 이 때 branch를 잘 확인해야 하고, 여러명이 수행하는 경우 바로 반영되는 것이 아닌 pull request가 수락되어야 반영된다.
git merge : 두 개의 branch를 합친다. 이 때 branch는 main이 되는 부분이여야 한다. conflict를 해결해야 할 수 있다.
vscode, visual studio 등 에디터들이 자체적으로 버전 관리 기능을 제공하는 것 같다. 굳이 커맨드 기반이 아니더라도 버전 관리를 가능하게 한다.
ChatGPT 같은 AI 툴을 사용하였는데 개발에 큰 도움이 되었다. 다만 완전히 원하는 코드를 작성하는 것이 아니어서 분석하고, 프로젝트에 맞게 수정하는 과정에서 꽤 많은 시간이 소요되었다.
팀원이 Figma를 기획 단계에서 사용했는데 유용해 보았다. 시일 내에 한 번 해볼 것이다.
프로그램은 다음과 같은 기능을 포함한다.
- 일정 관리 기능(메인 윈도우)
- 사용자는 상단의 입력창을 이용하여 일정을 적는 것으로 일정을 추가할 수 있다.
- 전체 일정 리스트는 “할 일 일정 리스트”와 “한 일 일정리스트”로 구성되며 체크 모양 아이콘을 클릭하여 양 리스트 간의 이동이 가능하다. 완료한 일정에 대해서는 취소선으로 표기한다.
- 휴지통 아이콘을 클릭하여 일정을 삭제할 수 있다. 이 때 일정에 붙어있는 하위 일정들도 자동으로 삭제된다.
- 더보기 아이콘을 이용하여 일정에 대한 보다 상세한 관리가 가능하다.
- 상세 일정 관리 기능(서브 윈도우)
- 메인 페이지에서 더보기 아이콘을 클릭하여 상세 일정 관리 기능을 사용할 수 있다.
- 일정 제목, 날짜, 알람 시간, 일정 세부 내용, 하위 일정들을 추가, 수정, 삭제할 수 있다.
- 서브 페이지가 열린 중에는 메인 페이지를 사용할 수 없다.
- 저장 버튼을 누르면 내용을 갱신하고 메인 페이지로 돌아간다.
- 취소 버튼을 누르면 내용을 갱신하지 않고 메인 페이지로 돌아간다.
- 알람 기능
- 디폴트로 알람 시간은 일정을 추가한 시간의 1 시간 전으로 세팅된다.
- 상세 일정 페이지에서 리마인더 시간을 설정할 수 있다.
- 윈도우가 닫혀도 백그라운드에서 프로그램이 실행될 수 있도록 구성된다.
- 작업창의 아이콘을 이용하여 백그라운드에서 실행되는 프로그램의 윈도우를 띄우거나 완전히 종료할 수 있다.
전체 클래스 구조
실제 구현한 모습
원래는 커맨드 기능을 이용하여 일정을 추가하거나 검색하는 기능을 넣을려고 했는데 시간 부족으로 생략했다. 실습을 통해서 Qt 프레임워크를 사용하는 법, C++을 사용하여 개발하는 법 등 많은 것을 배웠다.
https://github.com/cty0613/todoapp.git
GitHub - cty0613/todoapp
Contribute to cty0613/todoapp development by creating an account on GitHub.
github.com
'VEDA 복습' 카테고리의 다른 글
VEDA 25일차 - 임베디드 시스템 (1) | 2025.04.18 |
---|---|
VEDA 24일차 - 임베디드 시스템 이해 (0) | 2025.04.17 |
VEDA 18일차 ~ 20일차 : Qt 프로그래밍 (0) | 2025.04.10 |
VEDA 17일차 - Qt 프로그래밍 (0) | 2025.04.08 |
VEDA 16일차 - Qt (0) | 2025.04.07 |