প্রকল্প সম্পর্কে
# 숭실대 학식 리뷰 앱 '잇슈' (EAT-SSU)
'잇슈'는 숭실대학교 학생들이 학교 식당의 메뉴를 확인하고 리뷰를 남길 수 있도록 설계된 안드로이드 기반 애플리케이션입니다. 2023년 11월 28일 구글 플레이 스토어에 출시되었으며, 현재까지 약 5천 명의 사용자가 이용하고 있는 커뮤니티 중심의 서비스입니다.
## 주요 기능 및 서비스
- **학식 메뉴 리뷰**: 사용자가 직접 방문하여 맛, 양, 가격 등을 평가하고 텍스트 리뷰를 작성할 수 있습니다.
- **메뉴 정보 제공**: 요일별 식당 운영 현황 및 메뉴판 정보를 조회할 수 있습니다.
- **알림 기능**: 주요 업데이트나 이벤트에 대한 푸시 알림을 지원합니다.
- **소셜 로그인**: 카카오 OAuth SDK를 활용한 간편 가입 및 로그인 기능을 제공합니다.
## 기술 스택 및 아키텍치
프로젝트는 안드로이드 최신 개발 트렌드를 반영하여 다음과 같은 기술 스택으로 구성되었습니다.
- **언어**: Kotlin
- **아키텍치**: MVVM 패턴과 Clean Architecture를 적용하여 관심사를 명확히 분리하고 테스트 용이성을 높였습니다.
- **비동기 처리**: Coroutine와 Flow를 사용하여 데이터 스트림을 효율적으로 관리합니다.
- **의존성 주입**: Hilt를 통해 컴포넌트 간 의존성을 관리합니다.
- **네트워크**: Retrofit2와 OkHttp3를 사용하여 서버와 통신하며, Gille(글라이드)을 통해 이미지를 로드합니다.
- **뷰 바인딩**: XML 레이아웃과 ViewBinding, DataBinding을 조합하여 UI를 구현합니다.
- **모니터링**: Firebase RemoteConfig로 기능 플래그를 제어하고, Crashlytics로 앱 안정성을 추적합니다.
## 패키지 구조
소스 코드는 `com.eatssu.android`을 루트로 하며, 다음과 같이 도메인, 데이터, 프레젠테이션 레이어로 명확히 구분되어 있습니다.
- `domain`: 비즈니스 로직과 유즈케이스, 모델 정의
- `data`: API 서비스, DTO, 리포지토리 구현체
- `presentation`: 화면(UI) 및 뷰모델, 공통 유티리티
- `di`, `alarm`: 의존성 주입 모듈 및 알림 관련 기능
## 개발 환경 및 컨벤션
- **IDE**: Android Studio Koala (2024.1.1)
- **JDK**: 17
- **SDK**: Min SDK 28, Target SDK 35
- 팀은 일관된 코드 품질을 유지하기 위해 GitHub Wiki에 상세한 Android 및 Git 컨벤션 문서를 공개하고 있습니다.
## CI/CD 파이프라인
Fastlane을 활용하여 빌드 및 배포 과정을 자동화했습니다.
- **로컬 빌드**: `bundle exec fastlane build_qa_apk` 또는 `build_release_aab` 명령어로 빌드 가능합니다.
- **GitHub Actions**: `develop` 브랜치 push 시 자동 CI 빌드가 실행되며, `release/<version>` 브랜치 머지 시 AAB 빌드, Play Store 배포, GitHub 릴리스 생성 및 태그 작업이 자동으로 수행됩니다.
## 향후 개선 사항
현재 모듈화(Modularization), Jetpack Compose 도입, DataSource + Repository 패턴 적용 등 아직 완료되지 않은 과제(Not Yet)로 명시되어 있습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.