Dropdown: 5 / 10 / 15 / 30 / 60 min
Sets how often the system fetches new RSS articles automatically. Admin only. Same option also in ⚙️ Settings.
🔄 Fetch
Immediately triggers an RSS fetch of all 191+ feeds right now — no need to wait for the auto-fetch timer.
Button shows a spinner while fetching.
🤖 Verify
Runs AI verification on all unverified (⏳) articles using the Groq API.
Results: ✅ Real ❌ Fake ⚠️ Unverified.
Requires Groq API key in ⚙️ Settings.
🔔 Notifications
Red badge = unread notification count.
Click to open the notifications panel. New high-priority & urgent articles appear here automatically.
📊 Excel
Downloads a full Excel workbook containing sheets for: All Articles, Today's News, Top 20 Topics, Pivot by Source, Pivot by Topic, Alerts, and Read summaries.
❓ Help
Opens this manual. All sections, buttons, and features explained with direct navigation links.
🔑 Change Password
Click the 🔑 key icon next to your name to change your login password. Minimum 6 characters required.
↩ Logout
Click the ↩ icon to log out. Your session will end and you will be returned to the login screen.
📋 ARTICLE ACTION BUTTONS
The following action buttons appear on every article row across all sections: 🚨 Alerts ·
📰 Latest Articles ·
📅 Today News ·
📌 Top 20 Topics ·
🏷️ Categories ·
⭐ Favourites ·
✅ Read Latest ·
✅ Read Today ·
✅ Read Top-20
⏳ AI Status Badge
⏳ Pending — not yet verified ✅ Real — AI confirmed ❌ Fake — AI flagged ⚠️ Unverified — inconclusive
Hover to see AI verdict detail.
Mark Read / ✓ Read
Toggles the read status of the article. Mark Read = unread → click to mark as read. ✓ Read = already read → click to unmark.
Read articles move to the ✅ Read sections.
☆ / ⭐ Favourite
☆ = not favourited → click to bookmark. ⭐ = bookmarked → click to remove.
All favourited articles appear in the ⭐ Favourites section.
📤 Share
Opens share options for the article:
🌐 WhatsApp — pre-filled message + link.
📧 Email — opens email client pre-filled.
🔗 Copy Link — copies article URL.
📋 Internal — formatted summary for Slack/Teams.
🌐 Translate & 🤖 AI
🌐 — opens article in Google Translate (auto → English). 🤖 AI — runs AI verification on just this one article immediately.
📰 Sum (Summarise)
Available on all sections: 🚨 Alerts · 📰 Latest · 📅 Today · 📌 Top 20 Topics · 🏷️ Categories · ⭐ Favourites · ✅ Read Latest · ✅ Read Today · ✅ Read Top-20
Fetches and summarises the full article in a new tab.
Uses 4-layer fetch: cloudscraper → requests → urllib → newspaper.
If site blocks all access → shows RSS preview from database.
Supports auto-translation of regional language articles to English.
👤 Assign (Admin only)
Admins can assign any article to a specific user.
The assigned user receives a notification immediately.
An optional note can be added with the assignment.
💬 INTERNAL CHAT
💬 Chat (Header Button)
Opens the internal chat panel.
Users can message admins and receive replies directly.
A red badge 🔴 shows how many unread messages are waiting.
👥 Who Can Message Whom
Admins can send messages to any user. Users can reply to messages from admins.
All conversations are private between the two parties.
📎 Share Article via Chat
Use the 📤 Share button → Chat option to send a specific article link to a colleague.
The article appears as a clickable preview inside the chat message.
Shows High priority & urgent articles from all feeds.
Red Urgent badge = time-critical alert.
Article action buttons: ⏳ AI · Mark Read · ☆ Fav · 📤 Share · 🌐 · 🤖 AI
Toolbar: ✓ Mark All Read · 📥 CSV · 📄 PDF · ☑ Selected CSV/PDF.
Auto-filtered to today's date (IST).
Same filters & action buttons as Latest Articles.
Article action buttons: ⏳ AI · Mark Read · ☆ Fav · 📤 Share · 🌐 · 🤖 AI
Toolbar: ✓ Mark All Read · 📥 CSV · 📄 PDF · ☑ Selected CSV/PDF.
Today's top 20 topics by article count. Shows all articles (read + unread) grouped by topic.
Topic header shows: total · read · unread · pos/neg counts · ✓ Mark all read.
Article action buttons: ⏳ AI · Mark Read · ☆ Fav · 📤 Share · 🌐 · 🤖 AI
Admin: upload topics via .txt or type + Add in the admin panel.
All articles bookmarked with ⭐. Click ⭐ again on any article to remove.
Article action buttons: ⏳ AI · Mark Read · ☆ Fav · 📤 Share · 🌐 · 🤖 AI
Toolbar: 📥 CSV · 📄 PDF · ☑ Selected CSV/PDF.
Full-screen India alert map — pins coloured by priority: 🔴 High · 🟡 Medium · 🟢 Low.
Pin size = number of articles at that location. Larger pin = more news.
Map auto-scales to screen size (32"–55" TV/display supported). Click any pin → popup shows count, category & priority + 📰 View News Below button.
📋 Location News Panel (appears below map on click):
📰 All Articles — every article ever linked to that city.
📅 Today's Articles — only today's news (IST) for that location.
🔥 Top 20 Today — today's top 20 sorted High→Medium→Low then newest first.
Each tab shows full article rows with all action buttons:
✓ Mark Read · ⭐ Fav · 📤 Share · 🌐 Translate · 🤖 AI Verify · 📰 Summarise · 👤 Assign Filters toolbar: 🔍 keyword · priority · category · ✕ Clear — live across all tabs. Export: 📥 CSV · 📄 PDF — exports the currently filtered location results.
✕ Close button (top-right of panel) dismisses it without leaving the map.
Shows only articles/topics already marked as read.
Article action buttons: ⏳ AI · ✓ Read (unmark) · ☆ Fav · 📤 Share · 🌐 · 🤖 AI
Export includes Read By column (your display name) — CSV & PDF.
Mark Read via the Mark Read button on any article; it will appear here instantly.
Article counts pivoted by Source and by Topic. Shows Read / Unread totals.
Also shows category breakdown (High / Medium / Low counts).
📊 Excel export includes all pivot sheets in one workbook.
⏱ Auto-Fetch Interval: 5 / 10 / 15 / 30 / 60 min — same as header dropdown. RSS Feed Manager: Add / remove custom RSS feeds (no code edit needed). AI Groq Key: Paste from console.groq.com to enable 🤖 Verify. Same-Network Access: Scan QR with phone / tablet on same Wi-Fi. Logo: Place JCF.jpg next to script or upload manually here.
Create up to 20 users. Roles: Admin / Editor / Viewer.
Edit full name & role · Reset password · Enable / Disable accounts.
Admin account cannot be deleted or disabled.
Users change their own password via 🔑 in the header.
All login sessions in the last 1 hour: username, IP, browser, timestamp.
🔄 Refresh to update.
Useful for auditing who is connected from which device on the network.
📥 Export & 📤 Share — Full Reference
Toolbar export buttons (per section): 📊 Excel — full workbook (header, all sheets). 📥 CSV — exports currently filtered rows to CSV. 📄 PDF — exports currently filtered rows to PDF (requires fpdf2). ☑ Selected CSV — tick checkboxes on rows, then export only those. ☑ Selected PDF — tick checkboxes on rows, then export only those.
All exports respect active search + filter settings.
📤 Share (per article): 🌐 WhatsApp — opens WhatsApp with article title + link pre-filled. 📧 Email — opens your email client pre-filled. 🔗 Copy Link — copies article URL to clipboard. 📋 Share Internally — copies formatted summary for Slack / Teams. 📤 Header Share — shares a summary of the entire current view.
🗄️ DATABASE & 🌐 NETWORK — SETUP & STATUS GUIDE
🔷 MSSQL — Microsoft SQL Server (Primary DB)
When active: DB badge shows blue MSSQL • DB dot = 🟢 Requirements:
• Python: pip install pyodbc
• SQL Server 2016+ or SQL Server Express
• ODBC Driver 17 for SQL Server installed
• Edit DB_CONFIG in the script: set server, database, username, password
• Set USE_MSSQL = True (already default) Connection string used: DRIVER=ODBC Driver 17; SERVER=host,1433; DATABASE=jcf_news; UID=sa; PWD=… Auto-create DB: App creates jcf_news database if it doesn't exist (requires CREATE DATABASE permission). Port: Default 1433. Change in DB_CONFIG["port"]. If MSSQL fails → App auto-falls back to SQLite (see below).
🟡 SQLite — Fallback / Offline DB
When active: DB badge shows amber SQLite • DB dot = 🟡 File location:news_fallback.db in same folder as the script. Zero setup required — works out-of-the-box, no server needed. When used:
• MSSQL is unreachable / credentials wrong
• USE_MSSQL = False in the script
• pyodbc not installed WAL mode enabled for concurrent read/write performance. Auto-retry MSSQL: Every 30 seconds, app retries MSSQL. If it reconnects, it switches back automatically — no restart needed. Note: SQLite data is local only and not shared across servers.
🟢🟡🔴 DB / NET Dots
Located in the top-right header. DB dot: 🟢 MSSQL connected 🟡 SQLite fallback 🔴 Error NET dot: 🟢 Internet OK 🔴 Offline Labels: OK / SQLite / ERR / OFF
Click the group to refresh status instantly.
📦 Install ODBC Driver (Windows)
Download from Microsoft: Microsoft ODBC Driver 17 for SQL Server
→ Search: msodbcsql17 download
After install, run: pip install pyodbc
Then restart this application.
🌐 Internet / Network Check
NET dot checks connectivity to google.com every 20 seconds. If NET = 🔴 Offline: RSS feeds cannot be fetched. Manual Fetch will fail or return no results.
Check your firewall / proxy settings if consistently offline. LAN access: App binds to 0.0.0.0:5012 — accessible from any device on the same network.