Mars Photos is an android application developed with Jetpack Compose to display images of the surface of Mars via a REST API.
The project follows Android development best practices, implementing MVVM architecture and using tools like Retrofit for network calls.




Features
Display mars photo :
Retrieves and displays high-resolution photos of the surface of Mars from a REST API while dynamically showing the total number of images successfully fetched from the network.
Modern and fluid interface :
Implements a clean and responsive user interface following Material Design 3 principles to ensure a visually appealing and smooth user experience.
Light & dark mode dupport :
Provides full support for light and dark themes using Material 3, automatically adapting to system settings for enhanced accessibility and user comfort.
Real-time state management :
Uses a lifecycle-aware ViewModel to store UI state and manage data retrieved asynchronously from the API while ensuring configuration change resilience.
Performance and responsiveness :
Ensures smooth scrolling and responsive rendering of images to deliver a fluid and optimized browsing experience.
Tech stack
Kotlin :
Modern, concise language for Android development.
Jetpack compose :
Declarative UI toolkit for Android.
Material 3 :
Modern, accessible user interface.
StateFlow :
Reactive state management for real-time updates.
ViewModel:
MVVM architecture to separate business logic from user interface.
Retrofit :
Networking client for API calls.
State management :
Handle states with MutableStateOf and StateFlow.