반응형

부동산 임대 관리를 위한 종합 솔루션

📋 프로젝트 소개

UniRent는 부동산 관리자를 위한 Flutter 기반의 크로스 플랫폼 임대 관리 애플리케이션입니다. 물건 관리, 임차인 관리, 계약 관리, 청구서 발행 등 부동산 임대 업무의 전 과정을 효율적으로 처리할 수 있도록 설계되었습니다.

✨ 주요 기능

📊 대시보드

  • 주요 지표 실시간 모니터링
  • 물건/임차인/계약 현황 한눈에 파악
  • 청구/수납 현황 통계

🏢 물건 관리

  • 건물 및 호실 등록/수정/삭제
  • 호실별 상세 정보 관리
  • 물건 상태 추적 (임대가능/임대중/점검중)

👥 임차인 관리

  • 임차인 정보 등록 및 관리
  • 연락처 및 계약 이력 관리
  • 임차인별 청구 내역 조회

📝 계약 관리

  • 임대차 계약 생성 및 관리
  • 계약 상태 추적 (활성/만료/해지)
  • 계약 기간 및 조건 관리
  • 보증금/월세 정보 관리

💰 청구 및 결제

  • 월세 자동 청구서 생성
  • 청구 템플릿 관리
  • 결제 내역 추적
  • 미수금 관리

📈 비용 관리

  • 건물/호실별 비용 기록
  • 비용 카테고리별 분류
  • 비용 통계 및 분석

📱 활동 로그

  • 시스템 활동 이력 추적
  • 사용자 작업 기록

📄 보고서

  • 각종 관리 보고서 생성
  • PDF 출력 기능
  • Excel 내보내기

⚙️ 설정

  • 사용자 프로필 관리
  • 시스템 설정
  • 권한 관리

🏗️ 아키텍처

Clean Architecture + MVVM 패턴

이 프로젝트는 Clean ArchitectureMVVM(Model-View-ViewModel) 패턴을 결합하여 확장 가능하고 유지보수가 용이한 구조로 설계되었습니다.

lib/
├── app/                      # 앱 설정, 테마, 라우팅
│   ├── router.dart          # go_router 기반 네비게이션
│   └── theme.dart           # Material 3 테마 설정
│
├── core/                     # 공유 유틸리티 및 인프라
│   ├── auth/                # 인증 로직
│   ├── database/            # Drift 데이터베이스 설정
│   ├── network/             # HTTP 클라이언트 구성
│   └── rbac/                # 역할 기반 접근 제어
│
└── features/                 # 기능 기반 모듈
    ├── auth/                # 로그인 및 인증 UI
    ├── dashboard/           # 메인 대시보드
    ├── property/            # 물건 및 호실 관리
    ├── tenant/              # 임차인 관리
    ├── lease/               # 계약 관리
    ├── billing/             # 청구 및 청구 템플릿
    ├── payment/             # 결제 관리
    ├── expense/             # 비용 관리
    ├── activity/            # 활동 로그
    ├── reports/             # 보고서
    └── settings/            # 설정

데이터 흐름

┌─────────────────────────────────────────────┐
│  Presentation Layer (View)                  │
│  - Screens & Widgets                        │
└────────────────┬────────────────────────────┘
                 │
                 ▼
┌─────────────────────────────────────────────┐
│  Application Layer (ViewModel)              │
│  - Riverpod Controllers                     │
│  - Business Logic                           │
└────────────────┬────────────────────────────┘
                 │
                 ▼
┌─────────────────────────────────────────────┐
│  Data Layer (Model)                         │
│  - Repositories                             │
│  - Data Sources (Local/Remote)              │
└────────────────┬────────────────────────────┘
                 │
                 ▼
┌─────────────────────────────────────────────┐
│  Domain Layer                               │
│  - Entities (Freezed Models)                │
│  - Business Models                          │
└─────────────────────────────────────────────┘

🚀 핵심 기술 스택

프레임워크 & 언어

  • Flutter ^3.9.2 - 크로스 플랫폼 UI 프레임워크
  • Dart - 프로그래밍 언어

상태 관리

  • Riverpod ^2.5.1 - 타입 안전한 상태 관리
  • riverpod_annotation ^2.3.5 - 코드 생성 기반 Provider

데이터 모델링

  • Freezed ^2.5.2 - 불변 데이터 클래스 생성
  • json_serializable ^6.9.0 - JSON 직렬화

데이터베이스

  • Drift ^2.17.0 - SQLite ORM (타입 안전)
  • sqflite ^2.3.3 - Android용 SQLite
  • sqflite_common_ffi ^2.3.3 - Windows/Linux용 SQLite

네트워크

  • Dio ^5.5.0 - HTTP 클라이언트

라우팅

  • go_router ^14.2.0 - 선언적 라우팅

UI/UX

  • Material 3 - 최신 디자인 시스템
  • 반응형 디자인 - 모바일/데스크톱 적응형 레이아웃

문서 처리

  • pdf ^3.11.1 - PDF 생성
  • printing ^5.13.2 - PDF 인쇄
  • excel ^4.0.3 - Excel 파일 처리
  • csv ^6.0.0 - CSV 처리

기타

  • uuid ^4.4.0 - 고유 ID 생성
  • intl ^0.19.0 - 국제화 및 날짜 포맷
  • logger ^2.4.0 - 로깅
  • flutter_secure_storage ^9.2.2 - 보안 저장소

💎 프로젝트의 장점

1. 확장 가능한 아키텍처

  • Clean Architecture로 계층 분리
  • MVVM 패턴으로 비즈니스 로직과 UI 분리
  • 기능별 모듈화로 독립적인 개발 가능

2. 타입 안전성

  • Freezed를 통한 불변 데이터 모델
  • Riverpod의 컴파일 타임 타입 체크
  • Drift의 타입 안전한 쿼리

3. 코드 생성 자동화

  • build_runner를 통한 보일러플레이트 최소화
  • Freezed, Riverpod, JSON 직렬화 자동 생성
  • 생산성 향상 및 휴먼 에러 감소

4. 크로스 플랫폼 지원

  • 단일 코드베이스로 모바일(Android/iOS), 데스크톱(Windows), 웹 지원
  • 플랫폼별 최적화된 데이터베이스 지원
  • 반응형 UI로 다양한 화면 크기 대응

5. 오프라인 우선 설계

  • 로컬 SQLite 데이터베이스로 오프라인 작동
  • 빠른 응답 속도
  • 향후 서버 동기화 기능 추가 예정

6. 유지보수성

  • 명확한 폴더 구조
  • 관심사의 분리
  • 테스트 가능한 설계

7. 현대적인 기술 스택

  • 최신 Flutter & Dart 버전
  • Material 3 디자인
  • 업계 표준 라이브러리 사용

📝 라이선스

📧 문의 : youp.han@gmail.com 


UniRent - 스마트한 임대 관리의 시작

반응형

+ Recent posts