Project

General

Profile

Actions

Epic #3831

open

EPIC: Widget System & Third-Party Data Scraping

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

Status:
In Progress
Priority:
Medium
Assignee:
Start date:
03/27/2026
Due date:
% Done:

0%

Estimated time:
0:00 h
Type:
Planned

Subtasks 10 (10 open0 closed)

Story #3832: As a developer, I want a WidgetConfig model per device with boolean flags (nrb_enabled, weather_enabled, aqi_enabled) so that widget visibility is stored per deviceTo DoAjay Maharjan03/27/2026

Actions
Story #3833: As a developer, I want a WidgetData model (widget_type, city, value_json, scraped_at) so that scraped data is persisted and served from the databaseTo DoAjay Maharjan03/27/2026

Actions
Story #3834: As a developer, I want a Celery Beat job that scrapes NRB Forex data daily at 1:00 AM and stores it in WidgetData so that exchange rates are always up to dateTo DoAjay Maharjan03/27/2026

Actions
Story #3835: As a developer, I want a Celery Beat job that fetches Weather data on a scheduled interval and stores it per hotel city so that weather is accurate per locationTo DoAjay Maharjan03/27/2026

Actions
Story #3836: As a developer, I want a Celery Beat job that fetches AQI data on a scheduled interval and stores it per hotel city so that air quality is accurate per locationTo DoAjay Maharjan03/27/2026

Actions
Story #3837: As a developer, I want the content sync API to include the latest WidgetData values in the response so that the kiosk never calls 3rd-party APIs directlyTo DoAjay Maharjan03/27/2026

Actions
Story #3838: As a developer, I want the scraper to store the last successful value and serve it on failure so that widgets show stale data rather than going blankTo DoAjay Maharjan03/27/2026

Actions
Story #3839: As a Hotel Admin, I want to toggle NRB Forex, Weather, and AQI on or off per device in the CMS so that I can control which widgets appear on each kioskTo DoAjay Maharjan03/27/2026

Actions
Story #3840: As a Hotel Admin, I want the Date/Time widget to always be on and not disableable so that guests always see the current timeTo DoAjay Maharjan03/27/2026

Actions
Story #3841: As a developer, I want API keys for Weather and AQI stored in Django environment variables so that credentials are never committed to source codeTo DoAjay Maharjan03/27/2026

Actions
Actions #1

Updated by Suraj Risal 10 days ago

  • Subtask #3832 added
Actions #2

Updated by Suraj Risal 10 days ago

  • Subtask #3833 added
Actions #3

Updated by Suraj Risal 10 days ago

  • Subtask #3834 added
Actions #4

Updated by Suraj Risal 10 days ago

  • Subtask #3835 added
Actions #5

Updated by Suraj Risal 10 days ago

  • Subtask #3836 added
Actions #6

Updated by Suraj Risal 10 days ago

  • Subtask #3837 added
Actions #7

Updated by Suraj Risal 10 days ago

  • Subtask #3838 added
Actions #8

Updated by Suraj Risal 10 days ago

  • Subtask #3839 added
Actions #9

Updated by Suraj Risal 10 days ago

  • Subtask #3840 added
Actions #10

Updated by Suraj Risal 10 days ago

  • Subtask #3841 added
Actions #11

Updated by Suraj Risal 10 days ago

  • Assignee set to Suraj Risal
  • Status changed from To Do to In Progress
Actions #12

Updated by Suraj Risal 3 days ago

  • Assignee changed from Suraj Risal to Ajay Maharjan
Actions

Also available in: Atom PDF