- 대학생 IT 연합동아리 UMC 6기에 진행한 팀 프로젝트로, 재활 운동 가이드와 지속적인 동기부여를 제공하는 개인 맞춤형 재활운동 앱입니다.
- 프로젝트 이름: STEPPER
- 프로젝트 기간: 2024.07.07 ~ 08.20
- 개발 엔진 및 언어: Android Studio, Kotlin
- 멤버: 박지원(루피), 이채영(채리), 김성민(미니) 외 기획 1명, 디자인 1명, 백엔드 4명
(1) AI 를 통한 영상 추천 기능 : 신체 부위와 구체적인 통증 키워드를 선택하면 이에 맞는 운동 영상이 추천되는 기능
(2) YOUTUBE 연동을 통해 부위 별 운동 영상 저장 및 앱 내에서 시청 : 유저의 편리함을 위해 앱 내에서 YOUTUBE 기능을 연동 시켜 영상 링크 저장 및 바로 시청 가능
(3) 평가 일지 작성 : 운동 진행 후 평가 일지 작성을 통해서 자신의 운동 후 상태를 작성하고 캘린더에 조회 하여 운동 일지를 작성할 수 있음
(4) 뱃지 : 성취감 제고를 위해서 각각의 미션을 설정한 후 유저가 이를 달성 시 조건에 맞는 뱃지를 취득함
(5) 커뮤니티 : WEEKLY MISSION과 부위 별 커뮤니티 운영을 통해서 각 재활에 맞는 정보 공유 가능
| 화면 | 사진 |
|---|---|
| 회원가입/로그인 | ![]() |
| 투데이 홈 | ![]() |
| 투데이 나만의 운동 추가 | ![]() |
| 투데이 운동 카드 작성 | ![]() |
| 투데이 평가일지 조회 | ![]() |
| 스태퍼 홈 / 추가운동 홈 | ![]() |
| 스태퍼 운동하기 | ![]() |
| 스태퍼 평가일지 작성 | ![]() |
| 커뮤니티 | ![]() |
| 뱃지 | ![]() |
| Category | TechStack |
|---|---|
| Language | Kotlin |
| UI | XML |
| Architecture | Repository Pattern, MVVM |
| DI | Hilt |
| Network | Retrofit, OkHttp |
| Asynchronous | Coroutine, Flow |
| Jetpack | DataBinding, Navigation, DataStore, CameraX |
| Image | Glide |
| Notification | Firebase FCM |
| Open Source | Material CalendarView |
-
다양한 환경의 개발자들과의 협업: 그동안 같은 학교에서만 프로젝트를 해왔으나, 연합동아리를 통해 처음으로 타 대학 학생들과 팀 프로젝트를 진행했습니다. 서로 다른 개발 환경과 배경을 가진 팀원들과 의견을 조율하고 하나의 서비스를 완성해 나가는 과정을 통해, 시야를 넓히고 유연하게 협업하는 능력을 기를 수 있었습니다.
-
복잡한 내비게이션 구조 설계의 중요성: 기능이 방대한 앱 특성상 화면 이동 플로우가 매우 복잡했습니다. Jetpack Navigation을 활용해 수많은 화면 전환 로직을 설계하고 구현하면서, 앱의 규모가 커질수록 새로운 뷰가 추가되고, 화면 플로우가 계속 바뀌면서 네비게이션 구조의 설계의 중요성을 체감할 수 있었습니다.
-
기획 직군과의 커뮤니케이션: 개발 과정에서 마주한 기술적인 어려움을 기획자에게 논리적으로 전달하고 함께 대안을 찾아가는 과정을 통해, 서로 다른 직군 간의 상호 이해를 배울 수 있었고, 기획자와 많이 소통하며 기획자가 원하는 추상적인 아이디어를 기술적으로 구현 가능한 형태로 만들어 구현하는 과정을 경험했습니다.
-
오픈소스 라이브러리 활용: Retrofit이나 Hilt 같은 표준적인 라이브러리 외에, Material CalendarView라는 오픈소스를 프로젝트에 도입해 보았습니다. 단순히 라이브러리를 가져다 쓰는 것에 그치지 않고, 우리 서비스의 요구사항에 맞게 커스텀하고 기능을 확장해 보며, 오픈소스를 라이브러리를 사용하는 것을 경험했습니다.
Copyright 2024. 전세원 All rights reserved.
ⓒ 2024. 전세원 All rights reserved.
(c) 2024. 전세원 All rights reserved.




























