Daehan Lim

Header
Project Icon

가스 소비 관리 앱

📝 개요

📌 앱 소개: 국영 가스 공사의 수기식 가스 사용량 관리를 자동화하는 안드로이드 앱
🕒 기간: 2021.02.20 ~ 2021.03.18 (1개월)
📱 플랫폼: Android 네이티브 앱
🏢 회사명: Desoft (쿠바 국영 소프트웨어 개발사)
👥 개발 인원: 1명
💼 역할: 전체 안드로이드 앱 개발 담당
🛠️ 사용 기술: Android Kotlin Coroutines MVVM Room VideoView Jetpack Material Design Data Binding Navigation MPAndroidChart
🔗 GitHub: daehan-lim/gas-consumption-manager

Gas consumption manager main screen Gas consumption manager calendar screen Gas consumption manager chart screen Gas consumption manager filter screen Gas consumption manager offices screen Gas consumption manager video screen

📖 프로젝트 배경

쿠바 국영 가스 공사에서 기존의 수기식 가스 사용량 기록 및 계산 프로세스로 인한 업무 효율성 저하와 사용자 불편을 해결하기 위해 모바일 자동화 솔루션의 필요성이 대두되었습니다. 기존 시스템은 가스 계량기 검침부터 요금 계산까지 모든 과정이 수동으로 이루어져 시간이 많이 소요되고 계산 오류가 발생할 가능성이 높았습니다. 또한 가스 계량기 검침 방법에 대한 교육 자료와 고객 지원 체계가 체계적으로 구축되지 않아 사용자들이 어려움을 겪고 있었습니다. 이에 따라 사용량 자동 계산, 데이터 시각화, 오프라인 우선 설계를 통한 종합적인 가스 소비 관리 앱 개발 프로젝트를 기획하게 되었습니다.

🛠️ Tech Stack

Kotlin Android MVVM Material Design Jetpack Coroutines Navigation LiveData Room Database Lifecycle MPAndroidChart

📋 프로젝트 구조

├── features/                          # 기능별 모듈 구조
│   ├── consumption/                   # 가스 소비량 계산 기능
│   │   ├── ConsumptionFragment.kt     # 소비량 입력 및 계산 UI
│   │   ├── ConsumptionViewModel.kt    # 소비량 계산 비즈니스 로직
│   │   └── ConsumptionViewModelFactory.kt
│   ├── history/                       # 사용량 이력 및 차트 분석
│   │   ├── HistoryActivity.kt         # 차트 기반 분석 화면
│   │   ├── HistoryViewModel.kt        # 차트 데이터 처리 로직
│   │   └── HistoryViewModelFactory.kt
│   ├── offices/                       # 영업소 연락처 디렉터리
│   │   ├── ComercialOfficesFragment.kt # 영업소 목록 UI
│   │   ├── ComercialOfficesAdapter.kt  # RecyclerView 어댑터
│   │   └── ComercialOfficesViewModel.kt
│   ├── readcounter/                   # 계량기 검침 가이드
│   │   ├── ReadCounterFragment.kt     # 동영상 가이드 화면
│   │   └── ReadCounterViewModel.kt
│   ├── about/                         # 앱 정보 및 연락처
│   │   └── AboutActivity.kt
│   └── splash/                        # 스플래시 화면
│       └── SplashActivity.kt
├── database/                          # Room 데이터베이스 레이어
│   ├── Consumption.kt                 # 소비량 데이터 엔티티
│   ├── ConsumptionDao.kt             # 데이터 액세스 객체
│   └── ConsumptionDatabase.kt        # 데이터베이스 설정
├── model/                            # 데이터 모델
│   └── ComercialOffice.kt           # 영업소 정보 모델
├── util/                             # 유틸리티 클래스
│   ├── BindingUtils.kt              # 데이터 바인딩 어댑터
│   └── Util.kt                      # 공통 유틸리티 함수
└── MainActivity.kt                   # 메인 액티비티 및 네비게이션

🌟 수행 내용

Room 데이터베이스 기반 오프라인 데이터 관리 및 사용량 데이터 저장

가스 사용량 자동 계산 및 검증 시스템 개발

MPAndroidChart 기반 인터랙티브 데이터 시각화 구현

VideoView 기반 가스 계량기 검침 방법 학습을 위한 동영상 가이드

RecyclerView 기반 영업소 연락처 디렉터리 구현

사용자 경험 최적화 및 접근성 향상

개발 효율성 및 코드 품질 향상

🚀 성과 및 개선 효과