This is a beginner-friendly Android blog app built using Jetpack Compose. The app fetches blog data from a GitHub repository (used as a free backend) and displays them in a well-formatted and responsive UI. Blogs are written in Markdown and rendered beautifully in the app. The app also supports offline access using Room database.
- 📰 View blog list with image thumbnails
- 📖 Read blog content formatted with Markdown
- 🔄 Smooth shimmer effect during loading
- 📡 Fetch blogs remotely from GitHub
- 💾 Offline support using local Room database
- 🌙 Works in light and dark mode
- 📅 Blogs are updated without any app update
This is not a static app. Blog content is dynamic and can be updated remotely via GitHub without changing the app codebase.
Blog List Screen | Blog Content Screen |
---|---|
![]() |
![]() |
- Jetpack Compose – for modern UI
- Ktor Client – for network calls
- Koin – for Dependency Injection
- Room – for local database and offline access
- Coil – for image loading
- Markdown Processor – for rendering blog content
- GitHub – used as a backend server (stores blog metadata and markdown files)
📁 data/
│ ├── remote/ # Ktor client, DTOs, and remote data source
│ ├── local/ # Room setup, entities, DAO
│ └── repository/ # Repository implementation
📁 domain/ # Domain models and Repository interfaces
📁 presentation/ # UI components and ViewModels
All blog content is stored in this repository under:
You can easily add more blogs by:
- Writing a new blog in Markdown (
.md
) - Uploading it to the
blogs/
folder - Updating the
blogs.json
file with the blog details
📺 Follow the complete step-by-step playlist to build this app from scratch:
🔗 Watch on YouTube (15-part series)
Check out my Udemy Courses:
- 📚 Android Quiz App: Ktor Backend & Jetpack Compose
- 📚 Android Fitness App: Firebase & Jetpack Compose
Happy learning and building amazing Android apps!