Playground icon indicating copy to clipboard operation
Playground copied to clipboard

Earthquake notification system

Open renatgalimov opened this issue 2 years ago • 0 comments

Task: Implement Earthquake Notification System

Project Overview

Implement an earthquake notification system into the existing app. The system should scan for earthquake notifications, extract relevant data (magnitude and coordinates), and update screen content accordingly.

Task Description

  • Develop a service to scan for earthquake notifications from a specified source (website parsing or atom feed subscription).
  • Extract the magnitude and coordinates (latitude and longitude) of each earthquake notification.
  • Utilize the app's API (GET /screens/) to retrieve information about all screens.
  • Filter screens based on proximity to the earthquake's location:
    • Magnitude 2.0+: Within 100 km
    • Magnitude 3.0+: Within 200 km
    • Magnitude 4.0+: Within 300 km
    • Magnitude 5.0+: Within 400 km
    • Magnitude 6.0+: Within 500 km
    • Magnitude 7.0+: Within 600 km
    • Magnitude 8.0+: Within 1000 km
    • Magnitude 9.0+: Within 1500 km
  • Create a playlist for each screen within the defined proximity:
    • Set playlist priority to 1.
    • Add a predicate to play content for a specific duration based on the earthquake's magnitude:
      • Magnitude 2.0+: 2 minutes
      • Magnitude 3.0+: 3 minutes
      • Magnitude 4.0+: 5 minutes
      • Magnitude 5.0+: 10 minutes
    • Include metadata in the playlist indicating the time of expiration.
  • After 10 minutes, retrieve all playlists and delete those that have expired.

Please note that this is a draft task description, and additional details may be required for a complete implementation.

renatgalimov avatar May 10 '23 08:05 renatgalimov