Back to Projects

Wavies

A movie discovery app built for Dicoding's Android Developer Expert class. Features clean architecture, modularization, SQLCipher encryption, and SSL pinning.

AndroidKotlinClean ArchitectureMVVM
Wavies

About Wavies

Wavies is a comprehensive movie discovery application developed as the capstone project for Dicoding's Android Developer Expert certification. The app demonstrates advanced Android development practices including clean architecture with a fully modularized codebase, ensuring each layer (data, domain, presentation) is independently testable and maintainable.

Security is a first-class concern in Wavies. The app implements SQLCipher for encrypted local database storage, protecting user favorites and cached data. Network communications are secured through certificate pinning (SSL pinning), preventing man-in-the-middle attacks. These security measures reflect real-world production standards.

The architecture follows the MVVM pattern with reactive streams, leveraging Kotlin Coroutines and Flow for asynchronous operations. Dependency injection is handled cleanly, and the app features a smooth, intuitive UI that makes discovering and saving movies a delightful experience.

Key Features

  • Clean Architecture with full modularization (app, core, favorite)
  • SQLCipher encryption for secure local database
  • SSL/Certificate pinning for network security
  • MVVM pattern with Kotlin Coroutines & Flow
  • Favorite movie management with encrypted storage
  • Now Playing & popular movie browsing
  • Search functionality with real-time results
  • Dynamic feature module for favorites

Screenshots

Wavies Home Screen

Wavies Home Screen

Wavies Movie Detail

Wavies Movie Detail

Wavies Favorites

Wavies Favorites

Wavies Now Playing

Wavies Now Playing

Wavies Search

Wavies Search

Other Projects