Project

General

Profile

Actions

Epic #3842

open

EPIC: Content Sync — Hybrid Poll + Push Mechanism

Added by Suraj Risal 10 days ago. Updated 3 days ago.

Status:
To Do
Priority:
Medium
Assignee:
Start date:
03/27/2026
Due date:
% Done:

0%

Estimated time:
0:00 h
Type:
Planned

Subtasks 8 (8 open0 closed)

Story #3843: As a developer, I want a GET /api/devices/{token}/content/ endpoint returning active promotions, media URLs, widget config, widget data, slide duration, and pending device commands so that the kiosk has everything in one callTo DoAjay Maharjan03/27/2026

Actions
Story #3844: As a Flutter kiosk app, I want to call the content sync endpoint on a fixed polling interval so that content is always eventually consistent even without pushTo DoAjay Maharjan03/27/2026

Actions
Story #3845: As a developer, I want the Django backend to send an FCM push notification to relevant device(s) when a promotion is published so that content updates reach the kiosk immediatelyTo DoAjay Maharjan03/27/2026

Actions
Story #3846: As a Flutter kiosk app, I want to trigger an immediate content sync on receiving an FCM push notification so that new content appears without waiting for the next pollTo DoAjay Maharjan03/27/2026

Actions
Story #3847: As a Flutter kiosk app, I want to compare media file hashes from the sync response against locally cached files so that only new or changed assets are downloadedTo DoAjay Maharjan03/27/2026

Actions
Story #3848: As a Flutter kiosk app, I want to continue displaying cached content if the sync fails so that the kiosk never shows a blank screenTo DoAjay Maharjan03/27/2026

Actions
Story #3849: As a Flutter kiosk app, I want to display a hotel logo branding placeholder if the cache is empty and there is no network so that the screen is never blank on first bootTo DoAjay Maharjan03/27/2026

Actions
Story #3850: As a developer, I want failed sync events logged and surfaced in the CMS device health view so that admins are aware of devices that are not syncingTo DoAjay Maharjan03/27/2026

Actions
Actions #1

Updated by Suraj Risal 10 days ago

  • Subtask #3843 added
Actions #2

Updated by Suraj Risal 10 days ago

  • Subtask #3844 added
Actions #3

Updated by Suraj Risal 10 days ago

  • Subtask #3845 added
Actions #4

Updated by Suraj Risal 10 days ago

  • Subtask #3846 added
Actions #5

Updated by Suraj Risal 10 days ago

  • Subtask #3847 added
Actions #6

Updated by Suraj Risal 10 days ago

  • Subtask #3848 added
Actions #7

Updated by Suraj Risal 10 days ago

  • Subtask #3849 added
Actions #8

Updated by Suraj Risal 10 days ago

  • Subtask #3850 added
Actions #9

Updated by Suraj Risal 3 days ago

  • Assignee set to Ajay Maharjan
Actions

Also available in: Atom PDF