Daehan Lim

Header
Project Icon

ACME - 서비스 티켓 관리 솔루션

📝 개요

📌 앱 소개: 티켓 관리 시스템에 맞춤형 캘린더와 오프라인 기능, 지도 기능을 통합한 AS 관리 안드로이드 앱
🕒 기간: 2021.05 ~ 2021.06
📱 플랫폼: Android 네이티브 앱
👥 개발 인원: 1명
💼 역할: 전체 안드로이드 앱 개발 담당
🛠️ 주요 사용 기술: Android Kotlin MVVM Jetpack Room Calendar Provider API Data Binding WebView
🔗 GitHub: daehan-lim/acme

ACME app dashboard screen ACME app ticket details screen ACME app calendar screen ACME app calendar sync screen ACME app login screen ACME app signup screen ACME app edit screen ACME app maps screen

🛠️ Tech Stack

Kotlin MVVM Room Jetpack Coroutines Navigation Material Dialogs Calendar View ViewBinding DataBinding Google Maps Lottie CardView LiveData Material Design

📋 프로젝트 구조

├── database/                         # Room 데이터베이스 레이어
│   ├── AcmeDatabase.kt               # 메인 데이터베이스 설정 및 싱글톤 관리
│   ├── dao/                          # 데이터 액세스 객체
│   │   ├── TicketDao.kt              # 티켓 CRUD 작업
│   │   └── UserDao.kt                # 사용자 인증 작업
│   └── model/                        # 데이터베이스 엔티티
│       ├── Ticket.kt                 # 서비스 티켓 데이터 모델
│       └── User.kt                   # 사용자 계정 데이터 모델
├── repository/                       # Repository 패턴 구현
│   ├── TicketRepository.kt           # 티켓 데이터 추상화 레이어
│   └── UserRepository.kt             # 사용자 데이터 추상화 레이어
├── ui/                               # MVVM 아키텍처 기반 UI 레이어
│   ├── DbAccessViewModel.kt          # 공통 ViewModel 기본 클래스
│   ├── login/                        # 로그인 및 회원가입
│   │   ├── LoginActivity.kt          # 로그인 화면
│   │   ├── SignUpActivity.kt         # 회원가입 화면
│   │   ├── LoginSignupViewModel.kt   # 인증 비즈니스 로직
│   │   └── LoginSignUpFormState.kt   # 폼 검증 상태 관리
│   ├── dashboard/                    # 메인 대시보드
│   │   ├── MainActivity.kt           # 티켓 목록 및 메인 기능
│   │   ├── MainViewModel.kt          # 대시보드 데이터 관리
│   │   └── TicketsAdapter.kt         # RecyclerView 어댑터
│   ├── newticket/                    # 티켓 생성 기능
│   │   ├── NewTicketActivity.kt      # 신규 티켓 등록 화면
│   │   ├── NewTicketViewModel.kt     # 티켓 생성 로직
│   │   └── ManageTicketFormState.kt  # 폼 검증 및 상태 관리
│   ├── editticket/                   # 티켓 수정 기능
│   │   ├── EditTicketActivity.kt     # 티켓 편집 화면
│   │   └── EditTicketViewModel.kt    # 티켓 수정 로직
│   ├── workticket/                   # 티켓 상세 작업
│   │   ├── WorkTicketActivity.kt     # 티켓 상세 및 작업 화면
│   │   └── OverviewFragment.kt       # 티켓 개요 프래그먼트
│   ├── calendar/                     # 일정 관리 기능
│   │   ├── CalendarActivity.kt       # 캘린더 뷰 화면
│   │   ├── CalendarViewModel.kt      # 일정 데이터 관리
│   │   ├── EventsAdapter.kt          # 이벤트 목록 어댑터
│   │   └── Extensions.kt             # 캘린더 확장 함수
│   └── directions/                   # 지도 및 길찾기
│       └── GetDirectionsActivity.kt  # WebView 기반 구글맵 연동
├── model/                            # 비즈니스 모델
│   └── DueTicket.kt                  # 만료 예정 티켓 모델
└── util/                             # 유틸리티 및 공통 기능
    ├── BindingUtils.kt               # 데이터 바인딩 어댑터
    ├── CalendarUtil.kt               # 디바이스 캘린더 연동
    └── Util.kt                       # 공통 유틸리티 함수

🌟 주요업무

🚀 주요성과