# Quick Start

**AutoIngest — running in under 5 minutes.**
A Windows tray tool that moves photos off a camera, SD card, USB reader, or phone into a dated folder, converts them to JPG, and applies your branding. Built for ecommerce sellers.

---

## 1. Build

### Prerequisite (build machine only)
[Visual Studio 2022](https://visualstudio.microsoft.com/vs/community/) with the **.NET desktop development** workload, or the [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0) standalone. Windows 10/11.

### Option A — Visual Studio
1. Open `AutoIngest.sln`.
2. Build → Build Solution (Ctrl+Shift+B).
3. Output: `AutoIngest\bin\Release\net8.0-windows\AutoIngest.exe`.

### Option B — Command line
```bat
cd AutoIngest
dotnet restore
dotnet build -c Release
```

## 2. Publish a single exe

Two profiles ship as scripts. Both produce a single self-contained `AutoIngest.exe` — pick the size/dependency trade-off.

| Script | Size | Target PC needs |
|--------|------|-----------------|
| `publish.bat` | ~15 MB | .NET 8 Desktop Runtime (Win11 has it; Win10 may need it) |
| `publish-standalone.bat` | ~150–200 MB | Nothing. Runs on any Windows 10/11 PC. |

```bat
publish.bat             REM framework-dependent
publish-standalone.bat  REM self-contained (recommended for handing to a non-technical seller)
```

Output lands in `publish\` or `publish-standalone\`.

## 3. Deploy

Copy `AutoIngest.exe` to the target PC. No installer, no admin rights. Put it anywhere the user can run it (Desktop, Downloads, anywhere).

## 4. First launch

1. Double-click `AutoIngest.exe`. It starts in the system tray — no window opens.
2. On a brand-new install (no config yet), a **welcome wizard** appears:
   - **Skip for now** — default settings, no branding. Get straight to importing.
   - **Customize branding** — enter store name / URL / handle, set a text or logo watermark, optionally embed EXIF copyright. A live preview shows the result. The tray icon renders your mark immediately on finish.
3. The wizard runs exactly once. Reach branding later from the tray: **Options ▸ Branding ▸ Edit branding…**.

## 5. Import photos

1. Insert an SD card, USB reader, or phone.
2. The first time a device connects, AutoIngest prompts: **Register & Import** (trusted forever), **Import Once**, or **Ignore**. A friend's device picks Ignore — it is never touched.
3. Registered devices import silently on every future plug-in.
4. A small toast pops into the bottom-right corner during import:
   - JPGs copy straight through.
   - RAW / HEIC / PNG / etc. convert to progressive JPG and the original is removed.
   - Same-day duplicates (size + SHA-256) skip automatically.
5. Photos land in `%USERPROFILE%\Pictures\YYYY-MM-DD\`.

## 6. Tray menu

Right-click the tray icon for the menu:

| Item | Action |
|------|--------|
| **Show status** | Pop the toast to peek at the log |
| **Open import folder** | Open today's `Pictures\YYYY-MM-DD\` in Explorer |
| **Settings…** | Device registry, retention, access-tracking |
| **Reset drive memory** | Re-scan devices already seen this session |
| **Options ▸** | Auto-orient, Strip metadata, Delete from phone after import, Branding, Start with Windows |
| **About** | Version, author, license |
| **Exit** | Quit |

Left-click the tray icon to toggle the toast.

## 7. Recommended first-run setup for a seller

1. Complete the welcome wizard with the store name and a logo if available.
2. Confirm **Options ▸ Auto-orient** and **Options ▸ Strip metadata** are on (defaults) — phones photos arrive right-way-up without leaking GPS.
3. **Options ▸ Start with Windows** → on, so the seller never has to launch it.
4. Plug in the seller's SD card → **Register & Import**. Done forever.

## Troubleshooting

| Problem | Resolution |
|---------|------------|
| `dotnet` not found | Install [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0). |
| Magick.NET restore fails | Check internet; NuGet.org must be reachable. |
| Target PC says "missing runtime" | Use `publish-standalone.bat` (self-contained). |
| SD card not detected | Verify it mounts as a drive letter. Right-click tray → Show status for the log. |
| Phone not detected | Unlock the phone and tap "Trust this PC." MTP enumeration needs an unlocked, trusted device. |
| Photos land in the wrong place | Destination is `%USERPROFILE%\Pictures\YYYY-MM-DD\`. OneDrive redirection can move `Pictures` — check there too. |
| Branding not applying | Branding applies to **converted** files only. JPGs that move straight through are byte-for-byte untouched. |
| Retention not firing | Retention is off by default. Enable in **Settings…** and pick an age. The sweep runs on startup then daily. |
| "Delete from phone" log says "src kept" | The phone driver did not honor the delete verb. The local copy is fine; the phone original remains. Re-run the import or delete manually. |
| "Photos disappeared" / need a record of what happened | A persistent log lives at `%LocalAppData%\AutoIngest\autoingest.log` (with a `.bak` for the prior rotation). It records every import, retention sweep, and crash. Open it in Notepad. |

---

**Author:** Jeremy Anderson — [dcos.net](https://dcos.net) — info@dcos.net
**License:** MIT. See [LICENSE](LICENSE).
