Daehan Lim

Header
Project Icon

정부 포털 앱

📝 개요

📌 앱 소개: 쿠바 피나르 델 리오 시의 공식 정부 대표 포털 안드로이드 앱
🕒 기간: 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

Government portal menu screen District representative portal screen Request submission form screen Code input screen User guide screen

📖 프로젝트 배경

쿠바 피나르 델 리오 시의 기존 웹사이트 전용 정부 포털을 시민들이 모바일에서도 원활하게 이용할 수 있도록 하기 위한 안드로이드 앱 개발 필요성이 대두되었습니다. 기존 시스템은 데스크톱 환경에 최적화되어 있어 모바일 사용자들이 민원 신청, 지역 정보 조회, 행정 서비스 이용 시 불편함을 겪고 있었습니다. 특히 지역구 대표자 정보 접근, 민원 처리 현황 추적, 지역 매물 정보 확인 등 핵심 행정 서비스의 모바일 접근성 개선이 시급한 상황이었습니다. 이에 따라 시민 중심의 직관적인 모바일 서비스를 제공하는 정부 포털 앱 개발 프로젝트를 진행하게 되었으며, 프로젝트 과정에서 기존 레거시 코드베이스의 현대화 작업을 담당하게 되었습니다.

🛠️ Tech Stack

Kotlin MVVM Room RETROFIT Jetpack Coroutines ViewPager2 LiveData DataBinding ViewBinding Moshi WebView HTML5 JavaScript Material Design

📋 프로젝트 구조

├── 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                          # 데이터 바인딩 어댑터

🌟 주요업무

🚀 주요성과