센로그

[Python] pyQt를 활용한 바탕화면 시간표 위젯 본문

프로젝트

[Python] pyQt를 활용한 바탕화면 시간표 위젯

seeyoun 2023. 5. 22. 15:53

◆ 프로젝트 개발 동기

COVID-19로 인해 학교 수업이 전면 비대면 수업으로 전환되었습니다. 저희 학교에서는, 'e-campus'라는 온라인 수업 플랫폼에 접속해 일일이 과목별로 링크를 타고 참여하는 방식으로 수업을 진행합니다. 그러나 수업 자체는 e-campus와 별도로 'zoom' 앱만으로 진행합니다. 여기서 두가지 문제가 발생합니다.

 

문제 1) zoom 링크만에 접근하기 위해 e-campus에 로그인하는 방식이 번거롭고 불편합니다.

문제 2) 링크만 복사해서 한 파일에 넣어놓기에는, 매번 시간표에 따른 링크가 맞는지 확인해야 한다는 문제가 있습니다. 또 매 수업차시마다 zoom 링크를 다르게 쓰시는 교수님의 경우 이 방법을 사용할 수 없습니다.

 

이 문제를 개선하기 위해 'PC 바탕화면 시간표 위젯' 프로젝트를 시작하였습니다.

 


 프로젝트의 목적

프로젝트의 목적을 설정하기 위해 역할기반 페르소나(온라인 수업을 듣는 경희대 새내기 20살 대학생 A씨)를 설정하였습니다. 

-“한 수업은 고정된 zoom 주소를 사용하지만 이를 확인하기 위해 매번 e-campus와 같은 사이트에 접속하는 것이 불편하다고 느낀다."
-“새 학기가 시작되면 zoom 접속 방식이 익숙하지 않아 수업을 놓치는 일들이 발생했다.” 
- “zoom 수업을 위해 노트북을 사용하다가 시간표를 보기 위해 별도의 어플리케이션을 사용해야 하는 것이 불편했다.”

 

 

이를 바탕으로 문제를 정의하고, 다음과 같은 프로젝트 목적를 설정하였습니다.

1. 시간표에서 임의의 수업을 클릭하면 해당 zoom 링크로 연동되는 앱을 만들자.

2. zoom 수업시 사용하는 pc에서 그대로 시간표를 확인하고 접속할 수 있도록 pc용 시간표 어플리케이션을 구현하자.

3. zoom 링크가 변동되는 수업의 경우에도 앱 내에서 업데이트 할 수 있도록 만들자.

 

 


 프로젝트 개요

제목 : 바탕화면 시간표 위젯

플랫폼 : PC

소개 영상https://www.youtube.com/watch?v=nRgFk0cEW4U 

기능

- 수업 과목들의 요일 및 시간을 설정하고, zoom 링크를 입력하여 시간표를 추가합니다.

색깔은 미설정시 랜덤으로 설정됩니다.

- 과목을 클릭하는 경우 해당 zoom 링크로 이동합니다.

- 수업 시작 n분전 알림을 설정할 수 있습니다.

- 차시마다 zoom 링크가 변동되는 수업의 경우 APP 내에서 버튼을 눌러 업데이트할 수 있습니다.

교수님용 APP과, 학생용 APP을 따로 개발하여 교수님이 zoom 링크를 공유하시면 학생이 공유받을 수 있습니다.

 


◆ 개발 기간 및 참여 인원

개발 기간 : 2021.09.~2021.12.

참여 인원 : 3명

 


◆ 프로젝트에서 나의 역할

- PyQt를 사용해 앱 내 시간표 추가 과정, 수업 시작 알림 부분을 집중적으로 개발했습니다.

- Socket 통신을 사용해 시간표를 공유하거나 공유받을 수 있도록 하는 부분을 개발했습니다.

 


◆ 기술 스택 및 사용한 도구

  • Python
  • PyQt
  • Socket Networking

 


 프로젝트를 통해 얻은 성과와 경험 등 , 발생했던 문제 해결책

- Pyhon을 사용해 처음으로 진행하는 프로젝트였다보니, 배운 문법을 실제로 적용하는 과정이 이론과는 다르다는 것을 알게되었습니다. Python 모듈 사용법(특히 pyQt)과 환경 구성에 대해 배웠습니다.

 

- 혼자서는 해결하기 어려운 문제가 많았습니다. 이런 경우 팀원끼리 의논하면서 차근차근 해결해나가는 과정을 배웠습니다.

 

- Socket 네트워킹 방식을 공부하고 구현해보았습니다. 관련된 네트워킹 이론(TCP/UDP, 공인/사설 IP)을 공부하였습니다.

Comments