Skip to content

Avivma/Shutterfly-canvas_project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Canvas-v2 is an Android demo application showcasing:

Drag-and-drop from a bottom carousel into a central canvas. Pinch-to-zoom, pan, bring-to-front. Ghost overlay preview when dragging. Persistent canvas state (Room DB). Cache-first image loading with mock “network” backend. MVI + Clean Architecture layering (shared domain/data + feature modules).

🚀 Features

Start Feature. Loads image metadata using a cache-first repository. Displays a loading screen while cache is empty. Fetches from a fake network API and updates the Room cache. Automatically navigates to the main screen when ready.

Main Canvas Feature. Horizontal image carousel (populated from Room cache). Long-press → drag image → preview ghost overlay. Drop into canvas. Move, pan, zoom with multi-touch gestures. Double tap an image to bring image to fron. Canvas state automatically persisted. Move canvas image outside of canvas to delete the image.

💾 Persistence Model Images (Room) Loaded from cache or fake network

🧪 Tools & Libraries

Jetpack Compose

Room

Hilt

Kotlin coroutines + Flow

MVI pattern

📎 Notes

Fake network API returns hardcoded image identifiers. Replace with Retrofit easily—interface already defined. Canvas persistence uses Room.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages