"쏠쏠하게 솔루션을 제공하는" 모바일 결제 및 정산 애플리케이션
**쏠쏠해영(Solsol)**은 QR 코드 기반 결제, 정산, 송금, 학생회 관리 등을 통합한 Android 모바일 애플리케이션입니다. 지문 인증을 통한 보안 강화와 OCR 기술을 활용한 영수증 인식 등 최신 기술을 적용했습니다.
- QR 코드 스캔을 통한 카페 메뉴 선택
- 지문 인증을 통한 보안 강화
- 쿠폰 할인 및 제휴 할인 적용
- 결제 내역 조회
- 그룹별 송금 대상 선택
- 지문 인증을 통한 송금 실행
- 송금 완료 알림
- 똑같이 나누기: 총액을 인원수로 균등 분할
- 직접 입력: 개별 금액 직접 입력
- 랜덤 게임: 게임을 통한 재미있는 정산
- 호스트/참가자 모드
- 실시간 게임 룸
- 게임 결과에 따른 정산 금액 계산
- 지출 내역 조회
- OCR을 통한 영수증 인식 및 등록
- 회비 납부 현황 관리
- 즉시 송금 알림
- 정산 요청 알림
- 실시간 알림 처리
- Kotlin 2.0.21
- Jetpack Compose (UI 프레임워크)
- Android SDK 35 (API 35)
- MVVM (Model-View-ViewModel)
- Clean Architecture
- Repository Pattern
- Dependency Injection (Hilt)
- 네트워킹: Retrofit2, OkHttp3
- 데이터베이스: Room
- 이미지 로딩: Coil
- QR 스캔: ZXing
- 카메라: CameraX
- OCR: ML Kit (한국어 지원)
- 지문 인증: Biometric API
- FCM: Firebase Cloud Messaging
- 권한 관리: Accompanist Permissions
- Android Studio: Hedgehog | 2023.1.1 이상
- JDK: 11 (OpenJDK 11 또는 Oracle JDK 11)
- Gradle: 8.7.2
- Kotlin: 2.0.21
- 최소 SDK: API 24 (Android 7.0 Nougat)
- 타겟 SDK: API 35 (Android 15)
- 권장: API 30+ (Android 11+)
git clone https://github.com/your-username/solsol-android.git
cd solsol-android- Android Studio 실행
File→Open→ 프로젝트 폴더 선택- Gradle 동기화 대기
# Windows
set JAVA_HOME=C:\Program Files\Java\jdk-11
# macOS/Linux
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk- Firebase Console 접속
- 프로젝트 생성 또는 기존 프로젝트 선택
- Android 앱 등록
google-services.json파일 다운로드app/폴더에 파일 복사
<!-- app/build.gradle.kts -->
plugins {
id("com.google.gms.google-services")
}- 카메라 접근
- 지문 인증
- 네트워크 접근
- 알림 권한
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" /># 터미널에서
./gradlew assembleDebug
# 또는 Android Studio에서
Build → Make Project- Android 기기 또는 에뮬레이터 연결
Run버튼 클릭 또는Shift + F10- 대상 기기 선택 후 실행
# Gradle 캐시 정리
./gradlew clean
./gradlew --stop
# Android Studio 재시작# gradle.properties 수정
org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=512m# Kotlin 버전 확인
./gradlew --version
# 프로젝트 동기화
File → Sync Project with Gradle Files# 의존성 트리 확인
./gradlew app:dependencies
# 충돌 해결
./gradlew app:dependencyInsight --dependency androidx.compose.ui- Firebase 설정:
google-services.json파일 존재 확인 - 권한 설정: 앱 설치 후 필요한 권한 허용
- 지문 등록: 기기에 지문이 등록되어 있어야 함
- 홈 화면 → QR 스캔
- 카페 메뉴 선택
- 결제 화면에서 지문 인증
- 결제 완료 확인
- 홈 화면 → 정산하기
- 정산 방식 선택 (똑같이 나누기)
- 참여자 선택
- 정산 생성 및 완료
- 홈 화면 → 송금하기
- 송금 대상 선택
- 지문 인증 후 송금 실행
- 송금 완료 확인
app/src/main/java/com/heyyoung/solsol/
├── core/ # 공통 유틸리티
├── feature/ # 주요 기능별 모듈
│ ├── auth/ # 인증
│ ├── home/ # 홈 화면
│ ├── payment/ # 결제
│ ├── remittance/ # 송금
│ ├── settlement/ # 정산
│ ├── studentcouncil/ # 학생회
│ └── coupon/ # 쿠폰
├── service/ # 백그라운드 서비스
├── ui/ # 공통 UI 컴포넌트
└── MainActivity.kt # 메인 액티비티
- 결제 시 지문 인증 필수
- 송금 시 지문 인증 필수
- Biometric API 사용
- 이미지 캐싱 (Coil)
- ViewModel 생명주기 관리
- 불필요한 객체 생성 방지
- Gradle 빌드 캐시 활성화
- 병렬 빌드 활성화
- R8 코드 축소
## 📦 배포
### **Release 빌드**
```bash
./gradlew assembleRelease
- 키스토어 생성
app/build.gradle.kts에 서명 설정 추가- Release 빌드 실행
- 프로젝트 포크
- 기능 브랜치 생성
- 코드 작성 및 테스트
- Pull Request 생성
- Kotlin: 공식 Kotlin 코딩 컨벤션 준수
- Compose: Material Design 3 가이드라인 준수
- 네이밍: 명확하고 이해하기 쉬운 이름 사용
쏠쏠해영과 함께 편리하고 안전한 모바일 결제를 경험해보세요! 🚀