Skip to content

jtm0609/FindParkingApp

Repository files navigation

서비스 내용

목적지 주변의 주차장을 검색하고, 내비게이션 앱과 연동해 빠르게 찾아갈 수 있는 Android 애플리케이션입니다.

개발 목적

  • 실무에서 사용하는 Clean Architecture 및 MVVM 패턴 실습
  • 모듈화, 유지보수성, 확장성을 고려한 구조 설계

주요 기능

  • 주차장 검색

    • 목적지 주소 입력 시, 주변 공영/민영주차장 리스트 출력
  • 주차장 상세 정보 제공

    • 주소, 주차 가능 대수, 운영 시간, 요금 정보 등
  • 네비게이션 연동

    • 선택한 주차장 위치를 KakaoNavi/Tmap 앱으로 연동하여 길찾기 가능

기술 스택

  • Kotlin
  • Clean Architecture
  • MVVM
  • Retrofit
  • RxJava
  • Hilt
  • DataBinding
  • LiveData
  • Room

시스템 아키텍처

MVVM 패턴

본 프로젝트는 **MVVM(Model–ViewModel–View) 패턴을 적용하여 UI와 비즈니스 로직을 분리하였습니다.

  1. Model: 데이터 소스 및 비즈니스 로직 처리 (예: Repository, UseCase 등)
  2. ViewModel: UI 상태 및 로직을 관리, View와 Model 사이의 다리 역할 수행
  3. View: 사용자 인터페이스, ViewModel의 상태를 관찰하여 렌더링

image

Clean Architecture

본 프로젝트는 Clean Architecture 원칙을 기반으로, 관심사 분리(Separation of Concerns)를 철저히 지켜 설계되었습니다. 아키텍처는 크게 아래와 같은 세 가지 모듈로 구성됩니다:

  • Presentation Module
    • UI(View)와 ViewModel 구성
    • 사용자 입력 처리 및 화면 렌더링
  • Domain Module
    • 순수한 비즈니스 로직
    • UseCase를 통해 앱의 핵심 규칙 정의
  • Data Module
    • Repository 구현체
    • 로컬 데이터베이스(Room), 네트워크 통신 등 데이터 소스와의 연결

image

스크린 샷

기타

본 프로젝트는 1인 사이드 프로젝트로, UI/UX 설계부터 구조 설계, 기능 구현까지 전 과정을 직접 수행하였습니다.
기술적인 고민과 학습하면서 배웠던 내용들은 기술 블로그에 정리해두었습니다.
👉 앱 아키텍처 가이드(1) - 개요
👉 앱 아키텍처 가이드(2) - UI Layer
👉 앱 아키텍처 가이드(3) - Data Layer
👉 앱 아키텍처 가이드(4) - Domain Layer
👉 Clean Architecture 개념
👉 Clean Architecture vs Google의 앱 아키텍처

About

주변 주차장 검색 Android 애플리케이션

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages