Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

137 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FrameScout – Android Client

FrameScout is an Android application designed for photographers to discover, save, and share visually stunning photo locations (landscapes, portraits, automotive, travel).


🚀 Key Features

  • Discover Locations: Browse community-uploaded photography spots and sort them instantly (Latest / Oldest).
  • Full Details: View high-resolution image previews, detailed descriptions, specific category tags, and open locations directly in Google Maps.
  • Favorites System: Save your preferred locations seamlessly across both local offline storage and the cloud.
  • Advanced Filtering: Search for spots by text query or filter posts using multi-select tags.
  • Upload & Share: Publish your own photo discoveries (title, description, location attributes, tags) directly from your gallery using multipart requests.
  • Personal Content Overlay: Easily spot your own uploads with a discrete "My Spot" overlay badge.

🛠️ Technical Overview

The application is built using modern Android development industry standards:

  • UI / Interface: Built entirely with Jetpack Compose for a modern, fluid, and reactive design.
  • Asynchronous Logic: Driven by Kotlin Coroutines & Flows for efficient background data handling.
  • Local Storage (Room): Implements an offline cache (AppLocalDb) to store globally fetched tags and allow quick access to your favorite locations even without internet connection.
  • Networking (Retrofit): Communicates with the backend using modular service contracts:
    • MainApiService – Handles public data feeds (listings, details, global tags).
    • UserApiService – Handles authenticated actions (multipart image uploads, favorite toggles, personal photo history).
  • Navigation & Preferences: Uses dynamic routes via Jetpack Navigation and remembers the user's preferred startup screen on launch using DataStore Preferences.

About

Project repo for Mobile App Dev course

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Contributors

Languages