WeatherAlert
Complete User Manual  ·  All Roles
Introduction

WeatherAlert is a real-time weather monitoring and alerting platform. It continuously polls the OpenWeather API for multiple configured locations, stores historical readings, and sends SMS and email alerts when user-defined thresholds are exceeded. The web interface provides a live map dashboard, historical trend charts, and a full administration console.

Live Map Dashboard Real-time weather for any monitored location including wind compass, temperature, humidity, AQI and more.
Historical Trends 48-hour charts with actual observations and up to +18h forecast overlays for any parameter.
Smart Alerts Automated SMS via Twilio and email via Gmail when wind, gust, humidity, rain or thunderstorm thresholds are met.
Role-based Access Viewer → User → Admin → Superadmin, each with progressively more capabilities.
Access Levels
Role Who Capabilities
Viewer Any unauthenticated visitor View Map dashboard, view Trends page (read-only)
User Registered & email-verified accounts All Viewer rights + manage personal Locations, toggle own alerts, update Profile
Admin Accounts promoted by Superadmin All User rights + edit Alert Thresholds, view Activity / SMS / Email Logs, toggle Global Alerts
Superadmin System owner (first account or manually assigned) All Admin rights + manage all Users, access System Settings, change poll intervals
Your role badge is shown next to your name in the top-right navbar dropdown.
Available to: Viewers & above
Map & Dashboard

The Dashboard is the default landing page. It shows a live weather panel for any location you select on the interactive map. No login is required to view it.

Navigating the Map
  • Click any blue pin on the map to load live weather for that location.
  • Use the search box (top-right of the map) to find any location by name or coordinates. Press Enter to add a temporary pin.
  • Scroll to zoom; drag to pan.
Map Dashboard — live weather panel
Dashboard weather panel
Dashboard weather panel — appeared after clicking a location pin
Wind Compass Card

The top card shows an animated particle canvas representing wind flow, a central compass that rotates to true bearing, and the cardinal direction label (e.g. "South 159°"). Wind speed is on the left; gust on the right.

Hero Temperature Card

Shows the current temperature in a large font with live colour that shifts from blue (cold) through green to red (heat). "Feels like" is shown below. The centre column shows the official OpenWeather condition icon; the right column shows the text description (e.g., "Clear Sky", "Light Rain").

Stats & Quality Tiles

A row of stat tiles below the hero card shows: AQI (Air Quality Index — 1 Good · 2 Fair · 3 Moderate · 4 Poor · 5 Very Poor), UV Index, Pressure (hPa), Cloud Cover (%), and Visibility (km).

Forecast Strip

Five cards showing the next 3 h, 6 h, 9 h, 12 h and 15 h forecast. Each card shows: weather icon, temperature, humidity, and the target time in IST.

Weather Description Strip

A scrollable horizontal row of bubbles, one per logged observation. Each bubble shows the time (IST) and the sky condition icon. Hover a bubble to see the full description and temperature.

The navbar clock shows the current IST date/time and a countdown bar ticking down to the next automatic data refresh. The navbar is adaptive: on wide screens it shows icons with labels; on narrower screens it shows icons only (hover for a tooltip); if even icons don't fit, a hamburger button appears — click it to expand the full menu with labels. The active page is highlighted in cyan to match the brand colour.
Available to: Registered Users & above
Register & Login
Creating an Account
  1. Click Register in the top-right of the navbar.
  2. Enter your full name, a valid email address, and a password (minimum 6 characters).
  3. Submit the form. A verification email will be sent to your address.
  4. Open the email and click the Verify Email link (valid for 1 hour).
  5. Return to the site and log in with your credentials.
Register page
Registration form
Registration form — fill all fields and submit
Logging In
  1. Click Login in the navbar.
  2. Enter your email and password.
  3. Click Login. You will be redirected to the Dashboard.
Forgot Password
  1. On the Login page click Forgot password?
  2. Enter your registered email and click Send Reset Link.
  3. Open the email and click the reset link (valid for 1 hour).
  4. Enter and confirm your new password.
You must verify your email before you can log in. If you did not receive the email, check your spam folder.
Available to: Registered Users & above (read-only)
Locations

The Locations page lists all monitored sites. Click Locations in the navbar to open it. Default locations (Sarapaka, Sitaramapatnam, Iravendi) are pre-seeded.

Registered users can view the list and see which locations are active, but cannot add, delete, activate/deactivate, or change alert channels — those actions require Admin access (see Location Management below).

Locations page
Locations page
Locations page — list of monitored sites
Available to: Registered Users & above
My Alerts

The My Alerts toggle in the navbar controls whether you personally receive alert notifications. It does not affect any other user.

  • When ON — you will receive email and/or SMS alerts when a threshold is breached at your configured locations.
  • When OFF — no alerts are sent to you, regardless of system settings.
My Alerts being ON is necessary but not sufficient — alerts are only delivered when Global Alerts (Admin-controlled) is also ON and the location's alert channel is configured.
Available to: Registered Users & above
Profile

Access your profile via the user dropdown in the top-right navbar → Profile.

  • Name & Email — displayed (email cannot be changed after registration).
  • Phone Number — required for SMS alerts. Enter in international format, e.g. +919876543210.
  • Alert Channels — choose how you receive alerts:
    OptionWhat it does
    Email & SMSAlerts sent to both your email address and mobile number
    Email OnlyAlerts sent to your email address only
    SMS OnlyAlerts sent to your mobile number only (phone number required)
    NoneNo alerts delivered (equivalent to turning My Alerts off)
  • Change Password — enter current password plus new password twice and click Save.
  • Role badge — shown on the profile card; promoted by Superadmin only.
Available to: Admins & above
Location Management

Admins can add, remove, activate/deactivate, and configure alert channels for locations. All changes take effect on the next monitor poll.

Adding a Location
  1. Go to Locations in the navbar.
  2. Click Add Location or click a point on the map to auto-fill coordinates.
  3. Enter a name, latitude, and longitude.
  4. Click Save. The new location appears immediately in the list, the Dashboard, and the Trends page.
Deleting a Location

Click the Delete button on a non-default location card. Default locations (Sarapaka, Sitaramapatnam, Iravendi) are protected and cannot be deleted.

Activating / Deactivating a Location

Toggle the Active switch on any non-default location card. When inactive, the monitor skips that location — no data is collected and no alerts fire. The location is retained and can be reactivated at any time.

Alert Channels

Each location can send alerts via Email, SMS, both, or neither. Click the channel badge on the location card to toggle it.

Adding a location makes it visible to all users on the Dashboard and Trends page. Alert delivery also requires: Global Alerts = ON and the recipient's My Alerts = ON.
Available to: Admins & above
Global Alerts

The Global Alerts toggle is visible in the navbar for Admins and Superadmins only. It is the master on/off switch for the entire alerting system.

  • When OFF — no alerts fire for any user or location, regardless of individual settings.
  • When ON — alerts are fired normally, subject to per-user and per-location settings.
Turning Global Alerts OFF immediately halts all outgoing SMS and email notifications system-wide. Use this during maintenance or when investigating false positives.
Available to: Admins & above
Alert Thresholds

Navigate to Thresholds in the navbar to configure the conditions that trigger alerts. These settings apply globally to all locations.

Thresholds page
Thresholds page
Thresholds — set numeric limits and enable detection features
FieldUnitDefaultNotes
Wind Speedkm/h60Sustained wind at 10 m height
Wind Gustkm/h80Maximum instantaneous gust
Humidity%90Relative humidity
Rain DetectioncheckboxOnAny measurable precipitation in the 1h bucket
Thunderstorm DetectioncheckboxOnOWM condition IDs 200–232
Threshold changes take effect on the next monitoring poll (default every 60 seconds).
Available to: Admins & above
Logs

The Logs dropdown in the navbar contains three log viewers:

Activity Log

Records all significant events: logins, location changes, threshold edits, settings changes, and alert fires. Each row shows timestamp (IST), event type, actor (user or "system"), target, detail, and the originating IP address.

SMS Log

Lists every SMS alert dispatched via Twilio, including the destination number, location name, trigger reason, and delivery status.

Email Log

Lists every email alert sent, including recipient, subject, location, trigger reason, and send status.

Log viewer (any log type)
Log viewer
Log viewer — paginated table with download and filter controls
Available to: Superadmin only
User Management

Navigate to Users in the navbar to view and manage all registered accounts.

User Management page
User Management
User Management — list of all registered accounts with role and alert status
User List

Each row shows the following columns:

ColumnDescription
#Sequential row number
NameUser's display name
EmailRegistered email address
RoleColour-coded badge — viewer / user / Admin / Superadmin
MobilePhone number if provided, otherwise —
AlertsON or OFF — the user's personal alert toggle state
RegisteredAccount creation date
ActionsRole toggle + Delete buttons (see below)
Action Buttons

Each non-Superadmin row (other than your own) has two action buttons:

ButtonIconWhen shownEffect
Promote to Admin (yellow outline) User is Viewer or User Immediately upgrades the user's role to Admin
Demote to User (grey outline) User is Admin Immediately downgrades the user's role back to User
Delete (red outline) Any non-Superadmin row Permanently removes the account after a confirmation prompt
Role changes take effect immediately — the user's next page load will reflect the new role. The Superadmin row always shows in the Actions column; Superadmin accounts cannot be modified or deleted through the UI. You cannot delete your own account.
Promoting a user to Admin grants access to Thresholds, all Logs, Location management, and the Global Alerts toggle. Grant Admin role only to trusted users.
Available to: Superadmin only
System Settings

Navigate to Settings in the navbar for global system configuration.

SettingDescription
OpenWeather API Key (Primary)Primary key for fetching live weather and forecast data from OpenWeatherMap.
OpenWeather API Key (Alt / Fallback)Fallback key used automatically if the primary key hits a rate limit or errors.
Twilio Account SIDTwilio account identifier required for SMS dispatch.
Twilio Auth TokenSecret token that authenticates SMS API calls.
Twilio From NumberThe Twilio-provisioned number used as the SMS sender.
Gmail UserGmail address used to send alert emails.
Gmail App PasswordApp-specific password (not your Gmail login password) generated in Google Account → Security.
Alert From AddressThe "From" address that appears in alert emails sent to users.
Polling Interval (sec)How often the monitor fetches fresh weather data for every active location. Minimum recommended: 30 s.
Alert Cooldown (sec)After an alert fires for a location+condition pair, this many seconds must pass before the same alert fires again. Prevents notification floods.
Global Alerts is not a Settings-page field. It is a live toggle in the navbar (visible to Admins and Superadmins) and is saved instantly when flipped — no Settings page visit required.
Changing the Poll Interval does not restart the background thread immediately. The new interval takes effect after the current sleep cycle completes. Restart the server to apply it immediately.
FAQ
How do I switch between dark and light mode?

Use the sun / moon pill in the top-right of every page. Click the sun icon for Light mode or the moon icon for Dark mode. Your preference is saved in a browser cookie and persists across sessions.

Why are there gaps in the forecast trend lines?

Forecasts are issued by the API every 3 hours, so each forecast slot (e.g. +9h) only has data points spaced 3 hours apart. Observations are recorded every 30–60 minutes. Chart.js bridges the null gaps with straight lines, which can look like a visual break when the forecast starts. This is expected behaviour and is data-faithful.

I am not receiving alert emails. What should I check?
  1. Confirm Global Alerts is ON in the navbar (admin view).
  2. Confirm My Alerts is ON in your navbar.
  3. Check that the affected location has Email channel enabled on the Locations page.
  4. Verify your email address is correct in your Profile.
  5. Check the Email Log (Logs → Email Log) to see if sends are being attempted and what status they return.
I am not receiving SMS alerts. What should I check?
  1. Check all the same toggles as for email above.
  2. Confirm your phone number in Profile is in international format (+91XXXXXXXXXX).
  3. Check the SMS Log for Twilio error codes.
The dashboard shows "--" for all values after clicking a pin.

This usually means the background monitor has not yet collected data for that location. Wait until the next poll cycle (watch the countdown bar in the navbar).

How long is weather history retained?

The system automatically prunes records older than 31 days during each monitoring cycle.

Glossary
TermMeaning
ISTIndian Standard Time (UTC +5:30). All display timestamps use IST; data is stored in UTC internally.
OWM / OpenWeatherOpenWeatherMap API — the data source for all current weather and forecast data.
Forecast slotA future time offset, e.g. "+9h" means a forecast valid 9 hours after the issue time.
forecast_dtThe timestamp a forecast is valid for (issue time + slot hours). Used as the x-axis position on Trend charts.
AQIAir Quality Index (1 = Good … 5 = Very Poor) sourced from the OWM Air Pollution API.
Poll intervalHow often (seconds) the background thread fetches fresh data from OWM.
CooldownMinimum time between repeated alerts for the same location + condition. Prevents spam.
Global AlertsMaster on/off switch for all outbound notifications (email + SMS).
My AlertsPer-user toggle for whether that individual receives notifications.
Default locationPre-seeded location (cannot be deleted). Currently: Sarapaka, Sitaramapatnam, Iravendi.

WeatherAlert User Manual  ·  Generated 01 Mar 2026  ·  Back to top ↑