Skip to content

A modern Instagram-inspired Android app built with Kotlin & Jetpack Compose. Designed to showcase clean UI/UX patterns for developers and employers.

License

iliaxp/Instagram-UI-Kotlin-SocialDesign

Repository files navigation

📸 SocialDesign — Instagram UI for Developers & Employers

Kotlin Compose Min SDK Target SDK License


Modern Instagram-style Android app (UI only) built with Kotlin and Jetpack Compose — tailored for showcasing clean UI/UX patterns to programmers and employers.

✨ Highlights

  • 🔥 Double-tap like with animated heart burst
  • 🧵 Infinite scroll feed with lazy loading
  • 🔄 Pull-to-refresh via Accompanist
  • 🧭 Bottom navigation (Home/Explore/Add/Activities/Profile)
  • 🧑‍🤝‍🧑 Stories row + full-screen story viewer
  • 🗂️ Post detail with index deep-link
  • 🖼️ Coil 3 image loading with loading state
  • 🔒 Permissions scaffolded (Camera, Media)

🖼️ Screenshots

Home Explore Profile Activities
Home Explore Profile Activities
How to capture nice screenshots / recordings 📹
  1. Run on a Pixel emulator (portrait) with system UI hidden.
  2. Use Android Studio Layout Inspector to verify edge-to-edge and paddings.
  3. Record GIFs with Android Studio or adb shell screenrecord and convert via ffmpeg.

🧩 Tech Stack

  • 🟣 Kotlin (JVM 11)
  • 🟢 Jetpack Compose + Material 3
  • 🧭 Navigation Compose
  • 🖼️ Coil 3 (AsyncImage)
  • 🧰 Google Accompanist (SwipeRefresh, Permissions)
  • 🧪 ViewModel + Compose state

🧱 Project Structure

app/
 └── src/main/java/com/mahdizaredev/socialdesign/
     ├── data/
     │   ├── MockDataRepository.kt
     │   ├── MockNameRepository.kt
     │   ├── MockStringRepository.kt
     │   └── model/
     │       ├── ActivityItem.kt
     │       ├── Post.kt
     │       └── Story.kt
     ├── ui/
     │   ├── component/ (StoriesRow, PostsView, TopNavBar, BottomNavigationBar, ...)
     │   ├── screen/ (Home, Explore, Add, Activities, Profile, SingleStoryView, PostDetail)
     │   ├── theme/ (Color, Theme, Type)
     │   └── utils/ (MenuItem)
     ├── vm/
     │   └── PostsViewModel.kt
     └── MainActivity.kt

🧭 Navigation Overview

@Composable
fun SocialDesignApp() { /* NavHost with Home/Explore/Add/Activities/Profile + story/{id} + postDetail/{startIndex} */ }
@Composable
fun PostItem(post: Post, navController: NavController) { /* author, image, actions, caption */ }

🚀 Quick Start

git clone https://github.com/your-username/SocialDesign.git
open -a "Android Studio" SocialDesign
  1. Use Android Studio Ladybug or newer
  2. Build and run on device/emulator (no backend required)

⚙️ App ID & SDK

  • Application ID: com.mahdizaredev.socialdesign
  • Min SDK: 24 • Target/Compile SDK: 36

🔐 Permissions

  • INTERNET (image loading)
  • CAMERA (future story/post capture)
  • READ_MEDIA_IMAGES / READ_EXTERNAL_STORAGE (gallery groundwork)

🗒️ Notes

  • UI showcase only: data is mocked in data/
  • Swap mock repositories for real data sources when integrating backend
  • CameraX libraries included for future capture flows

📄 License

MIT — feel free to use, learn, and build upon.