# Audible3 Deeper Experience 3.0

This release builds the reader experience around study, continuation, and long-term engagement with Apostle Dr. King Lovestrong's teaching library.

## Reader features

- My Journey dashboard for active, completed, favorite, recent, bookmarked, and recommended teachings.
- Private bookmarks and notes, including chapter/audio-position bookmarks.
- Playback speed controls from 0.75x through 2x.
- Sleep timer for 15, 30, 45, 60 minutes, or the end of the current chapter.
- Recently Played history and Favorites.
- Ordered Series pages with progress and next-part navigation.
- Topic collections and global teaching search.
- Search can include permitted readable content, transcripts, and the member's own private notes.
- Transcript viewing at the chapter level.
- New Release and Coming Soon states.
- Explicit offline audiobook downloads stored on the member's device rather than exposed as public media links.
- Installable PWA support for compatible browsers, including iPhone/Android home-screen use.

## Admin features

- Topics and search tags on books.
- Manual Recommended Next selection.
- Draft, Scheduled, Coming Soon, Published, and Archived book workflow.
- Scheduled page publishing.
- Announcement manager with dates, links, and active state.
- Optional new-release email notices to members who have notifications enabled.
- Member activity view.
- Engagement analytics including starts, completions, average progress, favorites, bookmarks, search terms, and searches with no results.
- Transcript editing for every audio chapter.
- Automatic data backup scheduler plus manual `npm run backup:data`.
- Staging mode with no-index headers.

## Deployment additions

Keep your real `.env` file. Add the new values from `.env.example` as needed:

- `STAGING_MODE=false` on production; use `true` on a staging deployment.
- `AUTO_BACKUP_HOURS=24`
- `BACKUP_RETENTION=14`
- `BACKUP_INCLUDE_UPLOADS=false`
- SMTP variables if release notification email is desired.

Run `npm install --omit=dev` after deployment, then restart the Node application.

### Staging

The application supports a staging copy but cannot create a hosting subdomain itself. Create a staging subdomain in your hosting panel, deploy the same application there with a separate database/storage location, and set `STAGING_MODE=true`.

### Offline audio

Offline downloads require a member to authenticate first. Audible3 downloads protected chapter files into browser IndexedDB on that device. The service worker intentionally does not cache protected API/audio responses globally.
