📌 앱 소개: 쿠바 피나르 델 리오 시의 공식 정부 대표 포털 안드로이드 앱
🕒 기간: 2021.02 ~ 2021.04
📱 플랫폼: Android 네이티브 앱
🏢 회사명: Desoft (쿠바 국영 소프트웨어 개발사)
👥 개발 인원: 2명
💼 역할: 레거시 코드 현대화 및 시민 서비스 모듈 UI/UX 설계·개발 담당
🛠️ 사용 기술: Kotlin
MVVM
Retrofit
Room
Jetpack
ViewPager2
WebView
JavaScript
Coroutines
Moshi
🔗 GitHub: daehan-lim/government-portal-app
쿠바 피나르 델 리오 시의 기존 웹사이트 전용 정부 포털을 시민들이 모바일에서도 원활하게 이용할 수 있도록 하기 위한 안드로이드 앱 개발 필요성이 대두되었습니다. 기존 시스템은 데스크톱 환경에 최적화되어 있어 모바일 사용자들이 민원 신청, 지역 정보 조회, 행정 서비스 이용 시 불편함을 겪고 있었습니다. 특히 지역구 대표자 정보 접근, 민원 처리 현황 추적, 지역 매물 정보 확인 등 핵심 행정 서비스의 모바일 접근성 개선이 시급한 상황이었습니다. 이에 따라 시민 중심의 직관적인 모바일 서비스를 제공하는 정부 포털 앱 개발 프로젝트를 진행하게 되었으며, 프로젝트 과정에서 기존 레거시 코드베이스의 현대화 작업을 담당하게 되었습니다.
├── data/ # 데이터 레이어
│ ├── database/ # Room 로컬 데이터베이스
│ │ └── classifieddatabase/ # 지역 매물 데이터베이스
│ │ ├── Classified.kt # 매물 정보 엔티티
│ │ ├── ClassifiedDao.kt # 데이터 액세스 객체
│ │ └── ClassifiedDatabase.kt # 데이터베이스 설정
│ ├── model/ # 데이터 모델 클래스
│ │ ├── DelegateData.kt # 지역구 대표자 정보
│ │ ├── ClassifiedApi.kt # 매물 API 응답 모델
│ │ ├── Municipality.kt # 행정구역 모델
│ │ └── gestiondelegado/ # 대표자 관리 모델
│ └── network/ # 네트워크 통신 레이어
│ └── PortalGobiernoApiService.kt # REST API 서비스
├── ui/ # 프레젠테이션 레이어
│ ├── classified/ # 지역 매물 기능
│ │ ├── ClassifiedFragment.kt # 매물 목록 화면
│ │ ├── ClassifiedViewModel.kt # 매물 비즈니스 로직
│ │ ├── ClassifiedAdapter.kt # RecyclerView 어댑터
│ │ └── classifieddetail/ # 매물 상세 정보
│ ├── gestiondelegado/ # 지역구 대표자 관리
│ │ ├── GestionDelegadoFragment.kt # 대표자 메뉴 화면
│ │ └── gestiondelegadosection/ # 대표자 서비스 탭
│ │ ├── GestionSectionActivity.kt # ViewPager2 기반 탭 화면
│ │ ├── GestionSectionViewModel.kt # 공통 비즈니스 로직
│ │ ├── DelegadoDataFragment.kt # 대표자 정보 조회
│ │ ├── DispatchFragment.kt # 온라인 민원 신청
│ │ └── ProcedureFollowUpFragment.kt # 민원 처리 추적
│ └── goverment/ # 정부 서비스 WebView
│ └── GovernmentFragment.kt # JavaScript 인젝션 WebView
├── misc/ # 유틸리티 및 공통 기능
│ ├── Util.kt # 날짜 형식화 등 유틸리티
│ └── Converters.kt # Room 타입 컨버터
└── BindingUtils.kt # 데이터 바인딩 어댑터