Skip to main content

Space Flight News Documentation

Build native Android apps with clean architecture, offline support, and seamless API integration. Learn how to implement MVVM patterns, dependency injection, and modern Android development practices.

Quick start

Get up and running with Space Flight News in minutes

1

Clone the repository

Clone the Space Flight News repository to your local machine:
git clone https://github.com/bsvillarraga/Space-Flight-News.git
cd Space-Flight-News
2

Open in Android Studio

Open the project in Android Studio Arctic Fox or later. The project uses Gradle build system and will automatically sync dependencies including:
  • Dagger Hilt for dependency injection
  • Retrofit for networking
  • Room for local database
  • Jetpack Navigation for screen transitions
Ensure you have Android SDK 24 or higher installed
3

Build and run

Build the project and run it on an emulator or physical device:
./gradlew assembleDebug
Or click the Run button in Android Studio. The app will connect to the Space Flight News API and display the latest articles.
4

Explore the architecture

The app follows clean architecture with three main layers:
  • Data Layer: API clients, repositories, and local database
  • Domain Layer: Use cases and business logic
  • Presentation Layer: ViewModels, fragments, and UI components
Learn more in the Architecture Overview.

Explore by topic

Dive deep into the features and architecture of Space Flight News

Clean Architecture

Learn how the app separates concerns across data, domain, and presentation layers

Dependency Injection

Explore how Dagger Hilt manages dependencies throughout the app

Article List & Search

Understand infinite scroll pagination and real-time search with debouncing

Offline Mode

Discover how Room database provides seamless offline article browsing

Core features

Powerful capabilities built into Space Flight News

πŸ”

Real-time Search

Search articles with debounced queries to reduce API calls and improve performance

πŸ“±

MVVM Pattern

ViewModels with LiveData ensure UI stays in sync with data and survives configuration changes

♾️

Infinite Scroll

Pagination manager handles offset tracking and loads more articles as you scroll

πŸ’Ύ

Offline Caching

Room database caches articles locally for offline browsing with automatic sync

API reference

Complete reference for all layers of the application

Repository

Article repository interface and implementation

API Client

Retrofit API client for Space Flight News API

ViewModels

ViewModel classes for managing UI state

Use Cases

Business logic encapsulated in use cases

Models

Data transfer objects and domain models

Extensions

Kotlin extension functions for common operations

Ready to explore?

Dive into the documentation to learn about clean architecture, dependency injection, and modern Android development practices

Build docs developers (and LLMs) love