LivePhotoFrame is a multi-project photo slideshow app that helps you turn your archived images into a full-screen digital photo frame experience.
- Full-screen slideshow playback for desktop-style photo frame use.
- Supports image sources from:
- local file system folders
- FTP servers
- Configurable slideshow interval and max idle timeout.
- Optional portrait skipping.
- Image display modes:
Uniform,UniformToFill, andBestFit. - Local caching for remote FTP images.
- Quick controls while viewing: left/right navigation and exit shortcuts.
LivePhotoFrame.sln: full solution container.LivePhotoFrame/LivePhotoFrame: shared.NET Standard 2.0core library.LivePhotoFrame/LivePhotoFrame.Android: Xamarin Android app.LivePhotoFrame/LivePhotoFrame.iOS: Xamarin iOS app.LivePhotoFrame/LivePhotoFrame.UWP: original UWP project.LivePhotoFrame.UWPv2: newer UWP variant.LivePhotoFrame.WebApp: ASP.NET Core MVC web app (net10.0) serving the frontend from/app.LivePhotoFrame.Frontend: React + TypeScript + Vite frontend (active web UI).LivePhotoFrame.ReactJs: legacy ASP.NET Core + React + webpack project (kept for historical reference, not part of active build pipeline).
.NET SDK 10+(tested with SDK10.0.103).Node.js + npm(required forLivePhotoFrame.Frontend).- PostgreSQL (default) or SQL Server (fallback) for
LivePhotoFrame.WebAppidentity database. - For native app targets:
- Windows + Visual Studio (UWP tooling) for
LivePhotoFrame.UWPv2/LivePhotoFrame.UWP. - Xamarin workloads for
LivePhotoFrame.AndroidandLivePhotoFrame.iOS.
- Windows + Visual Studio (UWP tooling) for
git clone https://github.com/dsalunga/LivePhotoFrame.git
cd LivePhotoFramecd LivePhotoFrame.WebApp
dotnet restore
dotnet build
dotnet runThe launch profile defaults to http://localhost:5142 in development.
cd LivePhotoFrame.Frontend
npm ci
npm run buildThis writes static assets to LivePhotoFrame.WebApp/wwwroot/app.
cd LivePhotoFrame.Frontend
npm ci
npm run devThe dev server proxies /api requests to http://localhost:5142.
From the Settings page you can configure:
- FTP host/path/username/password
- local file system image folder
- active source (
FTPorFileSystem) - interval (minutes)
- max idle time (minutes)
- auto-start behavior
- skip portraits
- image display mode
Default placeholders include:
- FTP host:
ftp.yourserver.com - FTP path:
/path/to/your/photos/ - File system path:
D:\Pictures\LivePhotoFrame\Albums\Current\
LivePhotoFrame.WebApp/appsettings.json defaults to PostgreSQL:
"DatabaseProvider": "postgres",
"ConnectionStrings": {
"DefaultConnection": "Host=localhost;Port=5432;Database=livephotoframe;Username=postgres;Password=postgres",
"SqlServerConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-LivePhotoFrame.WebApp-...;Trusted_Connection=True;MultipleActiveResultSets=true"
}Set DatabaseProvider=sqlserver to use the SQL Server fallback connection.
- Frontend assets missing under
/app
Runnpm ci && npm run buildinsideLivePhotoFrame.Frontend. Xamarin.Android.CSharp.targetsorXamarin.iOS.CSharp.targetsnot found
Install Xamarin workloads and build through Visual Studio with Xamarin support.Microsoft.Windows.UI.Xaml.CSharp.targetsnot found
Build UWP projects on Windows with UWP tooling installed.
Licensed under the MIT License. See LICENSE.