To-Do Timer 앱 개발
1. 목표 및 내용
프로젝트 목표
할 일 추가, 수정, 삭제가 가능하며 각 작업의 마감기한, 중요도, 카테고리를 분류할 수 있는 기능과 작업 시간 및 휴식 시간 타이머 기능이 있는 ToDo 타이머 애플리케이션이 목표입니다.
1. 작업 목록 : 사용자는 할 일 목록을 추가, 수정, 삭제할 수 있습니다. 각 작업은 마감 기한, 중요도, 카테고리 등으로 분류될 수 있습니다.
2. 타이머 : 뽀모도로 기법(Pomodoro Technique)같은 유사한 시간 관리 방법을 사용하여 사용자가 특정 작업에 집중할 수 있는 타이머를 제공합니다. 작업 시간과 휴식 시간을 번갈아 가면서 사용자의 집중력을 최대한 이끌어냅니다.
3. 알림 시스템 : 마감 기한이 다가오는 작업이나 타이머가 끝난 후 휴식 시간이 시작될 때 사용자에게 알립니다.
4. 로컬 데이터 저장 : 사용자 설정과 작업 목록을 로컬에 저장하는 간단한 데이터 저장 시스템을 구축합니다. SQLite를 사용할 예정입니다.
왜 이런 목표를 생각하였는가?
바쁘게 살아가는 현대 사회에서 사용자들이 자신의 시간을 효과적으로 관리하고, 작업에 우선순위를 두며, 주의를 산만하게 하는 상황에서 벗어나 집중을 유지할 수 있도록 돕고 싶었습니다.
목표를 달성하기 위해 지금 뭐가 필요한가?
기한 내에 해결할 수 있도록 프로젝트 계획 및 관리가 제일 필요합니다. 따라서 아래의 방법을 동원합니다.
핵심 기능 우선 구현: 프로젝트의 핵심인 ‘할 일 목록 추가, 수정, 삭제’ 기능과 ‘타이머’ 같은 필수 기능을 우선적으로 구현합니다. 시간 여유가 생긴다면 ‘타이머 애니메이션 및 타이머 색상 변화 기능’, ‘통계 시스템’ 등과 같은 추가 기능을 개발합니다.
깔끔한 주석: 코드에 주석을 추가하여 프로젝트 팀원간의 코드 이해도를 높입니다.
협업: Github를 이용하여 파일 교환같은 번거로움 없이 작업을 진행합니다. 또한 브랜치를 개별적으로 생성하고 코드 리뷰를 통해 메인에 병합시킬지에 대한 회의를 진행합니다. 코드를 어려워하는 팀원이 있다면 참고할 코드 자료 등을 요청하여 프로젝트를 포기하는 팀원이 없도록 합니다.
2. 추진 전략
프로젝트를 순차적인 단계로 나누어 각 단계가 완료된 후에 다음 단계로 진행하는 전통적인 소프트웨어 개발 방식인 워터폴(Waterfall) 방법론을 활용하여 ToDo 타이머 애플리케이션을 개발할 계획입니다. 프로젝트를 시작하기 위해 요구사항을 수집하고 분석한 다음, 설계 단계로 이동하여 전체 시스템을 계획하고 구현합니다. 이후에는 테스트를 통해 안정성을 확인하고, 앱을 완성하는 것이 목표입니다.
프로젝트 완성을 위한 기능별 세부 일정 계획
첫 번째 주 : 사용할 기술 스택과 개발 도구를 정하고, 깃허브를 이용하여 협업합니다. 이후 우리 프로젝트에서 핵심 기능 중 하나인 ‘할 일 목록 추가, 수정, 삭제’ 기능을 구현합니다.
두 번째 주 : 두 번째 핵심 기능인 ‘작업 시간과 휴식 시간 타이머 기능‘을 구현합니다. 할 일이 있는 상태에서 진행이 되어야 하므로 ,첫 번째 주에서 ‘할 일 목록 추가, 수정, 삭제’를 먼저 구현한 이유입니다.
세 번째 주: ‘각 작업의 마감 기한, 중요도, 카테고리 분류 기능’을 구현합니다.
네 번째 주: ‘마감 기한 임박 및 타이머 종료 알림’ 기능을 구현합니다. 해당 기능이 완료가 되었다면 기존의 모든 기능을 통합하고 버그가 있는지 검증하고 버그를 고칩니다.
다섯 번째 주 : 마지막으로 버그가 없는지 확인하고 모든 기능이 버그 없이 잘 작동된다면 완성입니다.