함께 도전하며 성장하는 실시간 챌린지 플랫폼
갓생을 위한 우리만의 챌린지, 지금 시작해보세요!
많은 사람들이 더 생산적이고 자기주도적인 삶을 위해 다양한 목표를 세우지만, 이를 끝까지 이루는 일은 결코 쉽지 않습니다. 특히 혼자 도전할 때는 동기 부족과 책임감 결여로 인해 중도 포기가 잦고, 성취를 나눌 사람이 없어 만족감마저 줄어드는 경우가 많습니다. 🔥CHALLENGE ON AIR🔥는 이러한 어려움을 해결하기 위해 설계된 플랫폼으로, 실시간 목표 공유를 통해 같은 목표를 가진 사용자들이 서로를 응원하고 동기를 북돋으며 함께 성장할 수 있는 새로운 방식의 도전을 제공합니다.
CHALLENGE ON AIR는 목표 달성을 위한 개인의 의지를 강화하고, 동기 부여와 책임감을 고취하며, 실시간으로 소통하는 새로운 방식의 챌린지 플랫폼입니다.
-
목표 달성을 위한 강제성 제공
- 혼자 결심한 목표는 행동으로 이어지기 어렵습니다.
- CHALLENGE ON AIR는 챌린지 참여 예약 기능을 통해 결심 순간을 실천으로 연결시키며, 목표 달성의 첫걸음을 쉽게 내딜 수 있도록 돕습니다.
-
상호작용을 통한 신뢰와 책임감 강화
- 기존 챌린지 앱의 사진 인증 방식은 진정성과 신뢰성을 떨어뜨립니다.
- CHALLENGE ON AIR는 실시간 스트리밍을 통해 사용자들이 함께 도전하며, 성취 과정을 공유하고 신뢰를 높이는 동시에 책임감을 부여합니다.
-
실시간 커뮤니티로 도전 참여 촉진
- 시간이나 그룹의 제약 없이 목표를 공유하고 도전에 참여할 수 있습니다.
- CHALLENGE ON AIR는 실시간 챌린지 모집 및 참여 기능을 제공해, 누구나 쉽게 동참하고 함께 성장할 수 있는 환경을 만듭니다.
혼자 도전하며 느끼는 외로움과 동기 부족을 해결하기 위해, CHALLENGE ON AIR는 실시간 스트리밍과 상호작용 기능을 도입했습니다. 이를 통해 사용자들은 목표 달성의 과정을 즐겁고 책임감 있게 이어나갈 수 있으며, 함께하는 도전의 재미와 성취감을 극대화할 수 있습니다.
CHALLENGE ON AIR는 사용자가 실시간으로 목표에 도전하며 다른 사용자들과 상호작용을 통해 성취감을 얻을 수 있는 실시간 챌린지 플랫폼을 구축하는 것을 목표로 합니다. 아래의 주요 기능을 통해 이를 실현하고자 합니다.
-
컨셉
- CHALLENGE ON AIR는 도전(Challenge)과 방송(Air)의 개념을 결합하여,
실시간으로 도전 과정을 공유하고 응원받는 시스템을 의미합니다. - 메인 컬러로 신뢰와 에너지를 상징하는 레드를 조합하여,
도전의 열정과 지속적인 성취의 이미지를 전달합니다.
- CHALLENGE ON AIR는 도전(Challenge)과 방송(Air)의 개념을 결합하여,
-
주요 기능
-
챌린지 예약 및 강제성 부여
- 사용자가 결심한 순간, 챌린지 참여를 예약할 수 있는 기능을 제공합니다.
- 예약된 챌린지는 알림과 시간제한 설정으로 실천력을 강화합니다.
-
실시간 스트리밍
- 실시간 스트리밍을 통해 챌린지 인증을 수행합니다.
-
로그인
- Kakao 로그인을 통해 간편하게 서비스에 로그인할 수 있습니다.
-
챌린지 생성
- 포인트를 사용하여 새로운 챌린지를 생성하고, 다른 사용자들과 함께 도전할 수 있습니다.
-
챌린지 예약
- 특정 챌린지를 선택하고 예약하여 미래에 실행할 도전을 준비합니다.
-
챌린지 참여
- 생성된 챌린지의 화상회의에 참여하여 도전 과정을 실시간으로 공유할 수 있습니다.
-
챌린지 삭제
- 사용자가 생성한 챌린지를 삭제할 수 있는 기능을 제공합니다.
-
챌린지 검색
- 특정 키워드와 관련된 챌린지를 검색하여 원하는 도전을 찾을 수 있습니다.
-
챌린지 히스토리
- 내가 참여한 모든 챌린지 기록을 확인할 수 있는 히스토리 조회 기능을 제공합니다.
-
마이페이지
- 프로필 정보 수정 및 포인트 관리를 포함한 개인 정보를 확인하고 관리할 수 있습니다.
-
열품타 | 챌린저스 | Challenge ON Air | |
---|---|---|---|
동기부여를 해주는가? | ✅ | ✅ | ✅ |
실시간인가? | ❌ | ❌ | ✅ |
캠을 켜야 하는가? | ❌ | ❌ | ✅ |
상호작용이 가능한가? | ❌ | ❌ | ✅ |
CHALLENGE ON AIR는 기존 챌린지 앱과 달리 실시간 상호작용과 신뢰성 높은 인증 방식을 제공하여,
사용자들이 서로의 목표에 대해 더 큰 동기와 책임감을 가질 수 있도록 돕는 차별화된 챌린지 플랫폼입니다.
'Challenge On Air' 앱의 아키텍처입니다.
크게 안드로이드에서 권장하는 MVVM 아키텍처를 적용했습니다.
'Challenge On Air' 앱을 개발하기 위해 필요한 도구는 다음과 같습니다:
항목 | 설명 |
---|---|
Android Studio | Iguana |
Android Gradle Plugin | 8.3.0 |
Minimum SDK | 26 |
Target SDK | 34 |
앱 개발에 사용된 주요 라이브러리는 아래와 같습니다:
-
Hilt
- 의존성 주입을 위한 DI(Dependency Injection) 라이브러리.
-
Jitsi Meet
- 안정적이고 확장 가능한 화상 회의 솔루션.
-
Firebase
- Google 인증 및 백엔드 서비스 제공.
-
DataStore
- 토큰 저장을 위한 최신 데이터 저장 솔루션.
-
Room
- 로컬 데이터베이스 관리를 위한 ORM(Object Relational Mapping) 라이브러리.
-
Glide
- 빠르고 효율적인 이미지 로드 및 캐싱 라이브러리.
C:.
├── AndroidManifest.xml
├── java
│ └── com
│ └── okaka
│ └── challengeonairandroid
│ ├── ChallengeOnAir.kt
│ ├── model
│ │ ├── api
│ │ │ ├── response
│ │ │ │ ├── ApiResponse.kt
│ │ │ │ ├── ChallengeResponse.kt
│ │ │ │ └── ...
│ │ │ └── service
│ │ │ ├── ChallengeApi.kt
│ │ │ └── ...
│ │ ├── data
│ │ │ ├── SharedPreferenceManager.kt
│ │ │ └── auth
│ │ │ └── TokenManager.kt
│ │ └── entity
│ │ ├── Category.kt
│ │ └── ...
│ ├── repository
│ │ ├── ChallengeRepository.kt
│ │ └── ...
│ ├── view
│ │ ├── login
│ │ │ ├── KakaoLoginActivity.kt
│ │ │ ├── LoginActivity.kt
│ │ │ └── ...
│ │ ├── home
│ │ │ ├── HomeActivity.kt
│ │ │ └── ...
│ │ ├── challenge
│ │ │ ├── CreateChallengeActivity.kt
│ │ │ └── ...
│ │ └── splash
│ │ └── SplashActivity.kt
│ └── viewmodel
│ ├── ChallengeViewModel.kt
│ ├── HomeViewModel.kt
│ └── ...
├── res
│ ├── drawable
│ │ ├── back_card_selected.xml
│ │ ├── back_rounded_event.xml
│ │ └── ...
│ ├── layout
│ │ ├── activity_home.xml
│ │ ├── activity_login.xml
│ │ └── ...
│ ├── mipmap-anydpi-v26
│ │ ├── ic_launcher.xml
│ │ └── ic_launcher_round.xml
│ └── values
│ ├── colors.xml
│ ├── strings.xml
│ └── themes.xml
- 각 팀원은 자신의 user/아이디 브랜치에서 작업을 진행합니다.
- 작업이 완료되면 Weekly 브랜치로 Pull Request(PR)를 생성하고,
다른 팀원이 리뷰를 진행한 후 병합(Merge)합니다. - Master 브랜치로의 병합은 리뷰를 거친 Weekly 브랜치를 기반으로 진행됩니다.
- 이러한 방식으로 주 단위로 검토 및 협업을 통해 프로젝트의 품질을 유지합니다.
이름 | 역할 | 맡은 부분 | GitHub |
---|---|---|---|
김민혁 | 테크 리더 | 로그인, 마이페이지 | GitHub 프로필 |
김정희 | 타임 키퍼 | 홈, 챌린지 상세, 히스토리 | GitHub 프로필 |
김주송 | 기획 리더 | 챌린지 생성, 챌린지 검색 | GitHub 프로필 |
This project is licensed under the terms of the MIT license.