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