BetterMe는 개인 또는 그룹으로 목표를 설정하고
도장판(Sticker Board) 형식으로 진행 상황을 시각화하는
건강한 습관 형성 앱입니다.
“하고 싶은 일, 해야 하는 일 — 오늘도 한 칸!”
MZ 세대를 위한 일상 챌린지 플랫폼
https://youtu.be/fUjvhrMSRxM
| 기능 |
설명 |
| 회원가입 및 로그인 |
Firebase Auth 연동 |
| 목표 생성 |
개인/그룹 목표 설정 및 관리 |
| 진행 상황 기록 |
도장 스티커 클릭으로 달성률 업데이트 |
| 그룹 목표 |
친구들과 함께 목표 공유 |
| 이미지 & 프로필 관리 |
Firebase Storage 기반 저장 |
| 실시간 동기화 |
목표 진행도 자동 반영 |
| SNS 공유 |
도장판 이미지 공유 기능 |
| 분야 |
내용 |
| 언어 |
Java |
| 플랫폼 |
Android (Min SDK 28 / Target SDK 33) |
| 인증/Auth |
Firebase Authentication |
| 데이터베이스 |
Firebase Realtime Database |
| 파일저장 |
Firebase Storage |
| UI |
RecyclerView, ViewPager, Fragment, GridView, Material Design |
| 기타 |
Glide, CardView, CircleImageView, Volley |
| 빌드 |
Gradle, Android Studio |
| 화면 |
설명 |
| StartScreen.java |
진입점, 로그인/회원가입 분기 |
| personal/MainActivity.java |
개인 목표 관리 메인 |
| Group_main.java |
그룹 목표 관리 |
| custom_p_goal_click.java |
목표 상세 |
| mypage.java |
프로필 설정 |
| Fragment/* |
재사용 UI 컴포넌트 |
사용자 → Firebase Auth → uid 발급
↓
Realtime Database / Storage에 목표 & 이미지 저장
↓
ValueEventListener 로 UI 자동 갱신
user/{uid}/
personalDialog/{uid}/{goalKey}/
goal_personal/{uid}/{goalKey}/[stamps...]
| 문제 |
해결 |
결과 |
| 목표마다 도장판 크기 다름 |
GridView 동적 생성 |
유연한 도장판 UI |
| Firebase 데이터 구조 설계 |
uid 기반 계층화 |
선택적 조회 성능↑ |
| 이미지/권한 처리 |
FileProvider 도입 |
보안 & 안정성 확보 |
app/
├─ src/main/java/com/example/java_sticker/
│ ├─ StartScreen.java
│ ├─ Account/Login.java, Signup.java
│ ├─ personal/MainActivity.java
│ ├─ Group_main.java
│ ├─ mypage.java
│ ├─ Fragment/
│ ├─ CustomProgress.java
│ └─ adapters, model 등
└─ res/layout, drawable, values...
# 프로젝트 디렉토리 이동
cd D:/StudioProjects/BetterMe
# Debug 빌드
./gradlew assembleDebug
# 기기에 설치
./gradlew installDebug
# 필수
Android Studio 최신 버전
Firebase 설정 파일(google-services.json) 필요