일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- contentInset
- 부트캠프
- Codegen
- 스타트업주니어로살아남기
- delegation
- 스위프트
- IOS
- 책후기
- human interface guidelines
- 독서후기
- roundingMode
- UIResponder
- Modality
- Mock
- SWIFT
- NotificationCenter
- @available
- SWIFTUI
- mvvm
- 독후감
- 야곰아카데미
- xcode
- View Life Cycle
- Navigation
- 아이폰
- Info.plist
- NumberFormatter
- Failed to register bundle identifier
- Structures and Classes
- viewcontroller
- Today
- Total
호댕의 iOS 개발
[토이 프로젝트] holdy (클라이밍 모임 서비스) 본문
https://apps.apple.com/kr/app/holdy/id6444211316
넥스터즈 21기를 진행하면서 'holdy'라는 프로젝트를 진행했다. 기존에는 기존 '소모임'이라는 어플처럼 여러가지 모임을 모집하고 참여할 수 있는 서비스를 생각했으나, 2달간 빠르게 만들어야 하는 프로젝트였던 만큼 클라이밍으로 한정해서 진행하게 됐다.
클라이밍을 선택한 이유는 다음과 같다.
- 우리 프로젝트 팀에서도 현재 클라이밍을 하고 있는 사람이 2명이 있다!
- 개발자들 사이에서도 은근 클라이밍을 하는 사람들이 많다.
- 개발자를 제외하고서도 클라이밍이 이전보다 많은 관심을 받고 있다.
그럼 왜 굳이 모임을 만들 수 있고 참여할 수 있는 서비스를 만들게 된 것일까?
이는 현재 클라이밍을 다른 모임에서 하고 있는 팀원의 의견이 많이 반영되었다. 기존에는 메신저 서비스를 통해 모임을 생성하고, 참가의사는 이모지를 통해 받고 있었는데 이렇게 하는 경우 이모지로 한 눈에 참가 리스트를 파악하는 것이 쉽지 않았고 사람들이 다양한 이모지를 사용하게 되는 경우 인원 파악이 어렵다는 문제가 있다고 했다.
그래서 클라이밍 그룹 별 모임을 쉽게 생성하고 참여 의사를 밝힐 수 있도록 새로운 서비스를 만들어보고자 했다.
서비스 화면 구성
메인화면
현재 자신이 속한 그룹에서 생성된 모임을 확인할 수 있는 화면이다.
자신이 생성한 모임의 경우 왕관 / 아직 참여 의사를 밝히지 않은 모임의 경우 빈 회색 동그라미 / 참석한 모임의 경우 체크 동그라미로 표시된다.
(만약 출석까지 완료한 모임이라면 초록 체크로 표시된다)
메인 화면에서 플러스 버튼을 눌렀을 때는 어떻게 동작하게 될까?
모임 생성 화면
날짜와 구체적인 장소를 작성하고 모임을 생성할 수 있다. 모임을 생성한 사람이 모임의 장이 되게 된다.
모임 날짜는 반드시 현재 시간 이후로 잡아야 하며 마감 시간이 시작 시간보다 빠를 수 없다.
장소 링크의 경우 현재 네이버와 카카오 맵만 작성할 수 있도록 설정되어 있다.
모임 상세 화면
메인 화면에서 각각의 모임을 누르게 되면 나오는 화면이다.
이는 호스트인지 게스트인지에 따라 2가지 화면으로 나뉘게 된다.
게스트 화면
왼쪽은 게스트일 때 보이는 화면으로 해당 모임에 참석할지, 안 할지를 선택할 수 있고 참여 의사의 경우 추후에도 변경이 가능하다.
그리고 해당 모임이 문제가 있다면 우측 상단 '신고 버튼'을 통해 신고하고 해당 모임을 아예 보지 않도록 할 수 있다.
해당 화면을 통해 모임이 열리는 장소와 시간, 모임에 참석하는 참석자를 간단하게 확인할 수 있다.
호스트 화면
오른쪽 화면의 경우 모임의 호스트일 때 확인할 수 있는 화면이다.
각각의 참여자들이 참석을 했는지 안했는지를 표시할 수 있다. 이는 추후 참가자들이 보상인 홀드 이미지를 받을 수 있는 기준이 된다.
리워드 화면
단순히 메신저나 다른 도구를 활용했을 때와 가장 차별화되는 부분이라 생각한다.
현재 클라이밍 외에도 본인이 운동을 한 것을 SNS에 업로드하여 공유하고 기록하는 사람들이 많으며, 클라이밍 또한 많은 사람들이 자신이 문제를 푸는 모습을 업로드하는 계정이 많다는 것을 파악했다.
실제로 클라이밍을 하는 팀원 2명 모두 클라이밍 계정을 따로 가지고 있기도 했고 말이다.
그래서 모임에 참석하고 출석체크까지 완료된 경우 홀드 이미지를 랜덤으로 줄 수 있도록 했으며 이는 인스타그램에 바로 업로드할 수 있도록 구현을 했다.
'Software Engineering' 카테고리의 다른 글
[회고] 2022년을 돌아보고 앞으로를 계획해보자 (비전공자의 iOS 개발자를 위한 고군분투) (0) | 2022.12.26 |
---|---|
[컨퍼런스] Let's Swift 2022 (0) | 2022.11.30 |
[컨퍼런스] 구름 Commit 성장: 개발자의 평생 과제 (2) | 2022.11.18 |
[Git] git fetch VS git remote update, 이 둘의 차이점은 뭘까? (0) | 2022.11.06 |
[Terminal 명령어] 자주 사용하는 Terminal 명령어에 대해 알아보자 (0) | 2022.08.28 |