Skip to content

Latest commit

 

History

History
106 lines (77 loc) · 6.13 KB

File metadata and controls

106 lines (77 loc) · 6.13 KB

Events for Dicoding

Kotlin으로 제작된 Android 애플리케이션으로, 이벤트 세부 정보를 관리하고 조회할 수 있습니다. Dicoding의 Belajar Fundamental Aplikasi Android 과정과 Android Developer 학습 경로의 일환으로 개발된 이 프로젝트는 현대 Android 개발 관행을 MVVM 아키텍처를 통해 구현한 사례를 보여줍니다. 사용자는 이벤트를 즐겨찾기로 표시하고, 라이트/다크 모드를 전환하며, 알림 환경설정을 커스터마이즈할 수 있습니다. 퍼포먼스, 모범 사례 준수, 직관적인 사용자 경험, 다국어 지원을 중점으로 정성껏 제작되었습니다.

주요 기능

  • ✅ 완료된 이벤트 목록 탐색
  • 🔍 제목으로 이벤트 검색
  • 📄 이벤트 상세 정보 조회
  • ❤️ Room을 사용한 영구 저장 기반 좋아요/좋아요 취소
  • 🌐 다국어 지원 (영어, 인도네시아어, 한국어)
  • 🧼 Material Design 가이드라인을 따르는 깔끔하고 반응형 UI

기술 스택

  • 언어: Kotlin
  • 아키텍처: MVVM (Model-View-ViewModel)
  • 데이터 바인딩: LiveData, ViewModel
  • 네트워킹: Retrofit, 코루틴, Dicoding 이벤트 API
  • 로컬 저장소: Room 데이터베이스
  • UI 구성요소: RecyclerView, Material Components, View Binding
  • 기타: AndroidX, Navigation Component, Dark Mode, SharedPreferences

사전 준비사항

프로젝트를 시작하기 전에 다음 소프트웨어가 설치되어 있어야 합니다:

  • Android Studio (최신 안정 버전 권장)
  • Git (레포지토리 클론용)

시작하기

프로젝트를 로컬에서 실행하려면:

  1. 터미널을 열고 다음 명령어를 입력하세요:

     git clone https://github.com/khw315/EventsforDicoding.git
  2. Android Studio로 프로젝트 열기:

    • Android Studio를 실행하세요.
    • 기존 Android Studio 프로젝트 열기를 선택하세요.
    • 클론한 레포지토리 경로로 이동하여 선택하세요.
  3. 프로젝트 빌드:

    • Android Studio가 프로젝트를 자동으로 빌드할 때까지 기다리세요.
    • 자동으로 빌드되지 않으면 메뉴에서 Build > Make Project를 선택하세요.
  4. 앱 실행:

    • Android 기기를 연결하거나 에뮬레이터를 사용하세요.
    • 녹색 실행 버튼을 클릭하여 앱을 실행하세요.

앱 구조

  • : RecyclerView를 이용하여 예정된 이벤트와 완료된 이벤트를 두 가지 카테고리로 표시합니다.
  • 상세 페이지: 이벤트의 이름, 날짜, 설명 등 상세 정보를 보여주며 공식 웹페이지 링크를 포함합니다.
  • 즐겨찾기: 사용자가 이벤트를 즐겨찾기 목록에 저장할 수 있으며, Room 데이터베이스에 영구적으로 저장됩니다.
  • 설정:
    • 다크 모드: 라이트 모드와 다크 모드를 전환할 수 있습니다.
    • 알림 설정: 이벤트 알림을 활성화하거나 비활성화할 수 있습니다.
    • 네트워크 연결 상태 확인: 앱이 인터넷 연결 상태를 모니터링하고 오프라인일 경우 사용자에게 알립니다.

사용 방법

앱을 실행하면 다음 작업을 수행할 수 있습니다:

  • 이벤트 탐색: 홈 화면에서 예정된 이벤트와 완료된 이벤트를 쉽게 탐색할 수 있습니다.
  • 이벤트 상세 보기: 이벤트를 터치하여 상세 정보와 공식 웹페이지 링크를 볼 수 있습니다.
  • 이벤트 즐겨찾기: 이벤트를 즐겨찾기 목록에 추가하여 나중에 빠르게 접근할 수 있습니다.
  • 설정 커스터마이즈: 설정 페이지에서 다크 모드를 활성화하거나 알림 환경설정을 관리할 수 있습니다.
  • 오프라인 처리: 기기가 오프라인일 때 앱이 이를 감지하고 사용자에게 알립니다.

라이선스

이 프로젝트는 MIT 라이선스 하에 배포됩니다. 자세한 내용은 LICENSE 파일을 확인하세요.

연락처

이 프로젝트에 대한 질문이나 피드백이 있으시면 이메일로 연락하시거나 링크드인에서 저와 연결해 주세요.

감사의 말

이 프로젝트는 Dicoding의 Belajar Fundamental Aplikasi Android 과정과 Android Developer 학습 경로의 일환으로 개발되었습니다. 이 기회를 통해 Android 개발에 대한 깊은 이해를 얻을 수 있었습니다.

이 프로젝트는 다양한 리소스와 도구의 도움으로 가능했습니다. 특별히 감사드립니다:

For the English version, please refer to the README.md file.