
Team Project : 리모리모, 집중하란 마리모
프로젝트 목표
- 목표 시간을 설정하고, 시간에 따른 마리모 성장을 통해 집중을 도와주는 학습 도우미 애플리케이션
사실 우리 팀은 처음에는 다른 기획, 즉 조깅 커뮤니티 앱을 목표로 설정했었다. 하지만 시간 상 여유롭지 못하다는 것과 팀원들 중 그쪽으로 잘 아는 사람이 없다는 등의 이유로 무산되고 다시 한번의 긴 회의 끝에 결정된 목표였다.
최종 Wire Frame
초기 디자인을 만들며 우여곡절도 많았지만 결론적으로 예쁘게 잘 뽑힌 디자인을 보며 뿌듯했다.
마리모를 키우고 수집한다는 아이디어와 집중을 도와준다는 아이디어를 접목해서 만들어야 하는데 팀원 모두가 디자이너가 아니기 때문에 처음 Wire Frame은 정말 큰일이었지만 디자인 튜터님이 주에 두 번, 30분씩이라도 각 조에 방문하셔서 튜터링을 해주셨고 그렇기 때문에 이렇게 귀여운 디자인이 나올 수 있었던 것 같다.
감사합니다 튜터님!


역할 분담
우리 팀은 디자인이 어느 정도 나온 시점에 각자 역할을 분담을 진행했지만 사실상 처음에는 위에 Wire Frame 보다 많은 페이지가 있었고, 아래 표기된 것은 그 후에 여러 이유로 페이지들이 빠지고 다시 한번 역할을 분담하게 되면서 결정된 최종 역할분담이다.


마인드 맵

개발 일정
개발 일정에 경우 원래 계획했던 것보다 많이 딜레이 되었는데, 원래는 개발 기간을 2주로 잡았었다. 하지만 여러 이유로 인하여 딜레이 되고 결국에는 온전히 집중해서 개발할 수 있는 시간이 채 일주일도 되지 않았지만 마지막까지 힘내서 달려와준 팀원들이 있었기에 배포까지 무사히 해낼 수 있었다.

최종 프로젝트를 진행하며,
이번 프로젝트를 진행하며 많은 걸 배웠다. 개발적인 부분들도 많이 배웠지만 무엇보다 인간관계와 팀 협업에 대해 많은 것을 느끼고, 깨닫고 배우게 된 것 같다.
결국에 목표를 위해 무언가 결정해야 할 상황이 온다면 누군가는 단호한 결정을 내려줘야 하고, 그 과정에서 또 누군가는 상처를 받을 수도 있다는 것을 알았다.
처음 부팀장으로서 팀을 바라본 것과 팀장의 시선으로 바라본 것의 차이는 극명하다는 것과, 그렇기에 다른 팀원들을 대하는 게 어려워 스트레스도 많이 받았지만 그래도 많은 것을 배우게 된 프로젝트였다.
이번 프로젝트에서 어려웠던 점과 느낀 점 & 개선할 점
로그인 / 회원가입 & 비밀번호 찾기


[ 로그인 및 회원가입 구현 시 어려웠던 부분 ]
중복 확인 및 예외처리, 유효성 검사가 조금 어려웠다. 사실 어렵다기보다는 예외처리해야 할 부분이 많아서 번거로웠다고 하는 게 맞을 것 같은데, 코드 베이스가 처음이라 어렵게 느껴졌던 것 같다.
로그인 / 회원가입 시 입력된 값에 대해 사용자에게 이건 아니다, 이건 맞다에 대한 걸 알려줘야 하고 닉네임 텍스트 필드를 입력한 후에 Next 버튼을 누르면 다음 텍스트 빌드로 넘어가고, 마지막 비밀번호 확인에서 Next를 누르면 바로 회원가입이 아닌 개인정보 처리방침에 대한 페이지로 이동하게 하는 등 사용자 편의성을 염두에 두고, 세세한 부분에 대해서도 예외처리를 진행하며 구현하려니 복잡했던 것 같다. 그래도 완성한 걸 보고 굉장히 뿌듯했다.
메인 페이지 - 리모의 집중 타이머



[ 타이머 기능을 구현 시 어려웠던 부분 ]
가장 어려웠던 페이지를 꼽으라면 메인 페이지가 가장 어려웠다고 단언할 수 있다. 타이머를 백그라운드에서도 실행되게 하면서 마리모 이미지도 타이머 시간에 맞게 변경되고, 또 애니메이션까지 구현되어야 하니까 머리가 터질 것 같았다.
처음 구현 시에는 마리모 이미지의 시간과 타이머의 시간을 별도로 두고 그 두 시간을 연동하는 식으로 구현했는데 완성해두고 나니 두 시간을 별도로 둘 필요가 없다는 생각이 들어서 리팩토링을 진행했다. 타이머의 시간만 둔 채로 그 시간에 맞게 이미지가 변화하는 식으로 구현하니 이전에 발생했던 오류(타이머가 멈췄는데 이미지는 변한다던가, 이미지는 멈췄는데 타이머는 실행된다던가 등...)가 많이 줄어들었다.
그리고 지금 마리모 이미지 애니메이션이 다른 페이지로 이동했다가 돌아오면 실행되지 않고 멈춘 상태인데, 이 부분에 대해 튜터님들 께도 여쭤봤지만 이렇다 할 해결책을 얻지 못했다. 이 부분은 따로 더 공부해서 업데이트를 진행할 예정이다.
캘린더 & ToDo

내 프로필 & 프로필 수정

설정 - 로그아웃 / 회원 탈퇴 & 정보

알람 & ToDo / D-Day 위젯

[ 하루 알람 구현 시 어려웠던 부분 ]
하루에 한 번이라도 집중 모드를 중단하지 않으면 그날의 마리모나 집중 시간은 저장되지 않기 때문에 그에 대해 사용자에게 인지를 시켜줄 필요성이 있겠다는 판단 하에 알람을 구현하게 되었다.
현재는 저녁 9시에 집중 시간과 ToDo를 확인해 달라는 Push 알람이 진행되고 있는데, 이때 시간대를 설정해서 알람을 주고 앱이 종료되었을 때에도 알람을 주도록 구현하는 게 어려웠던 것 같다.
프로젝트를 구현하며 느낀 점 & 개선할 점
이번 프로젝트를 진행하면서 처음 구현 계획, 어떤 기능에 대해 사전에 공부하고 내가 어떻게 구현해 낼 것인지 생각하는 시간이 꼭 필요하다는 것을 느꼈다.
그리고 이 프로젝트에서 코드로만 구현하는 게 처음이다 보니 Then이나 SnapKit 등의 라이브러리를 사용하지 않은 채로 코드를 작성은 데 메인 페이지 코드가 무려 1320줄이나 되는 참사가 발생했다. 그래서 서둘러 Then과 SnapKit, 이 두 라이브러를 공부해 리팩토링을 진행했는데, 코드가 줄긴 줄었으나 지금도 1000줄 가까이나 된다. (...)
배포가 완료되면 내가 맡은 페이지 뿐만 아니라 전체적으로 리팩토링을 진행하면서 목표 시간 달성 시에도 알람을 주는 기능과, 하루 알람에 대해 사용자가 시간을 설정할 수 있는 기능, 집중 모드 위젯등 추가적인 기능을 함께 구현해볼 예정이다. 무엇보다 탭바 이동 시 애니메이션이 중단되는 걸 꼭 고쳐보고 싶다.
그리고 다음 글은... 리모리모의 리젝 수난기에 대해 써야 할 것 같다.

'개발자가 상팔자 > [ Team ] 리모리모, 집중하란 마리모' 카테고리의 다른 글
| Team Project : 리모리모 2차 ~ 3차 업데이트 - 피드백 수정 및 기능 추가 (0) | 2024.07.04 |
|---|---|
| Team Project : 리모리모 1차 업데이트 - 피드백 수정 (0) | 2024.07.02 |
| Team Project : 리모리모의 리젝 수난기 (1) | 2024.07.01 |