← 프로젝트로 돌아가기
JJ 로그인 화면
앱 · 스케줄링2024.07

JJ — 알바생·매니저 스케줄링 앱

알바생과 매니저가 같은 앱을 쓰되, 각자 필요한 화면과 기능이 다르게 보이도록 나눴습니다. 알바생은 근무 일정 확인/신청을, 매니저는 스케줄 편성·공지·초대를 한 곳에서 처리할 수 있습니다.

AndroidComposeFirebaseRoomWorkManager역할분리
프로젝트 소개
알바생과 매니저가 같은 앱을 쓰지만 요구가 달라서, 시작 화면에서 근로자 모드/관리자 모드로 진입을 나누고 각 역할에 맞는 화면 흐름으로 이어지게 구성했습니다. 인증과 공유 데이터는 Firebase로 처리하고, 기기 내 상태/캐시는 Room으로 분리해 “로컬-원격” 책임을 나눴습니다. 또한 초대 메일 같은 비동기 작업은 WorkManager로 분리해 UI 흐름과 백그라운드 작업이 섞이지 않게 했습니다.
사용 기술
KotlinJetpack Compose(Material3)Navigation ComposeFirebase(Auth/Firestore/Analytics)Room(KSP)WorkManager
문제 해결
  • - 역할 기반 UX 분리: 근로자/관리자 요구가 달라서 진입점부터 분기하고 화면 흐름을 분리해 복잡도를 낮췄습니다.
  • - 로컬/원격 데이터 역할 분담: 인증·공유 데이터는 Firestore, 기기 내 상태/캐시는 Room으로 분리해 데이터 책임을 명확히 했습니다.
  • - 백그라운드 작업 분리: 메일 전송 같은 작업은 WorkManager로 분리해 앱이 백그라운드에서도 안정적으로 처리될 수 있게 구성했습니다.
  • - 공개 저장소 보안 정리: Firebase 설정 파일(`google-services.json`)과 SMTP 키 같은 민감정보는 저장소에 포함하지 않고 로컬 설정 주입 방식으로 정리했습니다.
적용 결과
  • - 근로자/관리자 모드가 분리되어 사용 흐름이 명확해졌습니다.
  • - Firebase + Room 조합으로 원격/로컬 데이터가 분리되어 기능 확장 시 구조가 유지됩니다.
  • - WorkManager로 비동기 작업을 분리해 UI와 작업 처리의 결합도를 낮췄습니다.
핵심 요약
  • - 근로자/관리자 2가지 역할 기준으로 로그인·화면 흐름 분리
  • - Firebase(Auth/Firestore) + Room으로 원격/로컬 데이터 책임 분리
  • - WorkManager로 초대 메일 등 백그라운드 작업 분리
  • - 민감정보는 저장소에서 제외하고 로컬 주입으로 정리
← 프로젝트로 돌아가기