Skip to content

depromeet/sloth-android

Repository files navigation

image

나나공 (나보다 나무늘보가 공부 열심히 한다)

image

디프만 10기 4조 신동빈센조 나나공 Android Repository

Overview

image

모든 인강을 수강하는 사람들을 위한 강의 수강 독려 서비스

Features

image

  • 구글 / 카카오 로그인

  • 강의 등록

    • 수강할 강의의 필수 정보들을 입력하여 강의를 등록합니다.(나공이와 대결을 시작합니다!)
  • 강의 조회(오늘까지 들어야하는 강의, 전체 강의)

    • 오늘까지 몇개의 강의를 들어야 하는지 확인하고, 강의가 몇일 남았는지, 현재 진행률를 확인합니다.
  • 강의 수강 체크

    • 강의를 수강한 만큼 + 버튼을 눌러 체크합니다.
  • 강의 수강 종료(완강)

    • 모든 강의를 수강한 경우 강의 완강하기 버튼을 눌러 완강합니다.
  • 강의 상세 확인

    • 강의의 상세 정보를 확인합니다. 현재 진행률과 더불어 낭비하고 있는 돈이 얼마인지 확인할 수 있습니다.
  • 강의 수정

    • 등록한 강의의 정보를 수정합니다.
  • 강의 삭제

    • 등록한 강의를 삭제합니다. (도전을 포기합니다.)
  • 프로필 수정

    • 사용자의 닉네임을 수정합니다.
  • 푸시 알림 수신

    • 푸시 알림을 통해 등록한 강의에 대한 정보들을 수신합니다.
  • 알림 목록 확인

  • 수강한 강의 통계 확인

    • 현재까지 등록한 전체 강의와 완강한 강의를 기반한 통계를 제공합니다
  • 온보딩 튜토리얼

    • 앱을 사용하기 전에 튜토리얼을 통해 앱의 사용방법을 익힐 수 있습니다.

Technology Stack

  • Android Architecture Components(AAC)
    • ViewModel
    • DataBinding
    • Naivgation Conponent
    • Hilt
    • DataStore
  • Coroutines
  • Livedata -> Flow
  • Retrofit2
  • Okhttp3
  • Gson -> Kotlinx-serialization
  • KAKAO_SDK
  • Glide
  • Firebase
    • Analytics
    • Cloud Messaging
    • Crashlytics
  • Lottie
  • Timber
  • ProgressView
  • StartUp

Foldering

.
├── app
│   ├── di
│   ├── initialize
│   └── application
├── buildSrc
├── data
│   ├── mapper
│   ├── model
│   ├── network
│   ├── paging
│   ├── preferences
│   ├── repository
│   └── util
├── domain
│   ├── entity
│   ├── repository
│   ├── usecase
│   └── util
├── gradle
│   └── libs.versions.toml
└── presentation
    ├── adapter
    ├── di
    ├── extenstions
    ├── mapper
    ├── extenstions
    ├── service
    ├── ui
    └── util


ToDo

  • 멀티 모듈화
  • 네트워크 상태 처리 개선 (앱 안정화)
  • 회원 탈퇴 기능 구현
  • 알림 목록 화면 내에 온보딩 다시 해보기 기능 구현
  • 프로필 사진 변경 기능 구현
  • 프로필 사진 크롭 기능 지원 (진행중)
  • Manage 화면 내에 달력 구현 (진행중)
  • JWT 토큰 암호화 처리
  • navigation graph 분리
  • 아키텍처 구조 개선

Screen

  • 로그인

image

  • 온보딩 화면 (투데이)

image

  • 온보딩 화면 (강의목록)

image

  • 홈화면 (투데이, 강의목록, 마이페이지(강의 통계), 알림목록)

image

  • 강의 등록

image

  • 강의 상세화면, 수정화면, 삭제화면

image

  • 설정 화면, 프로필 수정,문의, 개인정보 처리 방침

image

  • 인터넷 연결이 끊겼을 경우

image