The Notifications feature in ReshmeInfo allows users to stay informed about important updates, announcements, and market information directly within the app. Admins can create and manage notifications to communicate with all users or specific market audiences.
- Dedicated tab in bottom navigation with bell icon
- Clean, organized view of all active notifications
- Real-time updates with pull-to-refresh
- Multi-language support (English & Kannada)
- Filter by priority: All, High, Medium, Low
- Color-coded priority indicators:
- π΄ High: Red (Urgent alerts)
- π Medium: Orange (Important updates)
- π’ Low: Green (General information)
- Total notification count
- High-priority notifications count
- Medium-priority notifications count
- Quick insights at a glance
- See notifications relevant to specific markets
- Blue location tag for market-specific announcements
- General notifications for all users
- Relative time display: "Just now", "5 minutes ago", "2 hours ago"
- Automatic date formatting for older notifications
- Last update time clearly visible
Admins can create custom notifications through the Admin Panel with:
- Title & Message: Clear, concise communication
- Priority Levels: Low, Medium, High
- Target Audience: All users or specific market
- Expiry Settings: Auto-deletion after specified days
- Rich Text Support: Detailed information formatting
- View all active and expired notifications
- Delete old or irrelevant notifications
- Track who created each notification
- Monitor notification expiry dates
βββββββββββββββββββββββββββββββββββββββββββ
β π΄ HIGH 2 hours ago β
βββββββββββββββββββββββββββββββββββββββββββ
β Important Market Update β
β β
β Ramanagara market prices updated for β
β CB and BV grades. Check latest rates. β
β β
β π Ramanagara β
β β
β Expires on: Nov 15, 2025 β
βββββββββββββββββββββββββββββββββββββββββββ
- Icon + Color Badge: Visual priority identification
- Border Accent: Left border matches priority color
- Filtered View: Easy sorting by priority level
- Open ReshmeInfo app
- Tap the Notifications tab (bell icon) in bottom navigation
- View all active notifications
- Tap priority filter chips at the top: All, High, Medium, Low
- View filtered results instantly
- Tap All to reset filter
- Pull down on the notifications list
- Release to refresh
- New notifications will appear automatically
- Title: Bold, prominent heading
- Message: Full notification content
- Priority Badge: Top-left corner
- Timestamp: Top-right corner
- Market Tag: (If applicable) Shows target market
- Expiry Date: (If set) Shows when notification expires
-
Login to Admin Panel
- Tap shield icon (π‘οΈ) in About screen (development)
- Enter admin credentials
-
Navigate to Notifications
- From Admin Dashboard, tap "Manage Notifications"
-
Fill Notification Form
Title: [Enter notification title] Message: [Enter detailed message] Priority: β Low β Medium β High Target Audience: β All Users β Specific Market β [Select Market βΎ] Expiry: [7] days (0 for never) -
Send Notification
- Review notification preview
- Tap "Send Notification"
- Confirmation message appears
- Notification instantly available to users
View Active Notifications
- See all currently active notifications
- Sorted by creation date (newest first)
- Check expiry dates and target audience
Delete Notifications
- Tap delete icon on any notification
- Confirm deletion in dialog
- Notification removed from all users
Check Notification Details
- View who created the notification
- See creation and expiry dates
- Identify target audience (All or Market-specific)
Use for:
- Urgent market closures
- Emergency announcements
- Critical price changes
- Important regulatory updates
- Time-sensitive alerts
Example:
Title: Urgent: Market Closure
Message: Ramanagara market will be closed tomorrow
(Nov 10) due to state holiday. Normal operations
resume Nov 11.
Priority: High
Audience: Market-specific (Ramanagara)
Use for:
- Regular market updates
- New feature announcements
- Price trend alerts
- Scheduled maintenance notices
- Moderate importance updates
Example:
Title: Weekly Price Update
Message: CB grade cocoon prices increased by 5%
across all markets this week. BV prices remain
stable.
Priority: Medium
Audience: All Users
Use for:
- General information
- Tips and guidelines
- Feature tutorials
- Seasonal greetings
- Non-urgent updates
Example:
Title: New App Feature
Message: You can now view historical price trends
in the Stats tab. Tap the chart icon to explore!
Priority: Low
Audience: All Users
β DO:
- Keep titles short (5-10 words)
- Write clear, actionable messages
- Include specific dates/times when relevant
- Use appropriate priority levels
- Set reasonable expiry dates
- Target specific markets when applicable
β DON'T:
- Send duplicate notifications
- Use ALL CAPS excessively
- Overuse high-priority alerts
- Include sensitive information
- Leave notifications expired indefinitely
Recommended:
- High Priority: Only when truly urgent (max 1-2 per week)
- Medium Priority: Regular updates (2-3 per week)
- Low Priority: Informational content (as needed)
Avoid:
- Notification spam (multiple per day)
- Irrelevant information
- Repetitive messages
- β Public read access (no authentication required)
- β Admin-only write access (secured)
- β Role-based permissions enforced
- β Firestore security rules applied
{
id: "auto-generated",
title: "Notification title",
message: "Full message content",
priority: "low|medium|high",
targetAudience: "all|market_specific",
targetMarket: "Market name (if specific)",
createdBy: "admin_username",
createdAt: "Timestamp",
expiresAt: "Expiry timestamp or null",
isActive: true
}// Users can read all active notifications
allow read: if true;
// Only admins can create notifications
allow create: if isAdmin();
// Only super admins can update/delete
allow update, delete: if isSuperAdmin();- English: Default language
- Kannada (ΰ²ΰ²¨ΰ³ΰ²¨ΰ²‘): Full localization
- Navigation labels
- Priority levels
- Filter chips
- Empty states
- Error messages
- Time stamps
- Button labels
Notification titles and messages are entered by admins and can be in either language based on target audience preferences.
NotificationsScreen.tsx
βββ Header Component
βββ Filter Section (Horizontal scroll)
β βββ All
β βββ High
β βββ Medium
β βββ Low
βββ Statistics Card
β βββ Total Count
β βββ High Priority Count
β βββ Medium Priority Count
βββ Notifications List (ScrollView)
βββ Notification Cards
β βββ Priority Badge
β βββ Timestamp
β βββ Title
β βββ Message
β βββ Market Tag (optional)
β βββ Expiry Date (optional)
βββ Ad Banner
Firestore Database
β
(Query active notifications)
β
NotificationsScreen
β
(Filter by priority)
β
Render Cards
β
User View
- Pull-to-refresh: Manual refresh trigger
- Auto-sync: Queries active notifications on mount
- Expiry filtering: Client-side filtering of expired items
- Sorting: Newest notifications first
Collection Name: notifications
Document Structure:
interface Notification {
id: string;
title: string;
message: string;
priority: 'low' | 'medium' | 'high';
targetAudience: 'all' | 'market_specific';
targetMarket?: string;
createdBy: string;
createdAt: Date;
expiresAt: Date | null;
isActive: boolean;
}Navigation Tab Added:
<Tab.Screen
name="Notifications"
component={NotificationsScreen}
options={{
tabBarLabel: t('notifications'),
tabBarIcon: 'notifications' | 'notifications-outline'
}}
/>When no notifications are available:
π
(Bell Icon)
No Notifications
You're all caught up! Check back
later for updates and announcements.
ββ Statistics ββββββββββββββββββββββ
β Total: 5 β High: 2 β Med: 3 β
ββββββββββββββββββββββββββββββββββββ
π΄ HIGH - 1 hour ago
Important Market Update
...
π MEDIUM - 3 hours ago
Weekly Price Summary
...
π’ LOW - Yesterday
New Feature Available
...
Problem: Empty screen or loading indefinitely Solutions:
- Check internet connection
- Pull down to refresh
- Verify Firestore rules are deployed
- Check Firebase Console for data
Problem: Expired notifications still visible Solutions:
- Pull to refresh
- Check expiry date calculation
- Verify admin set correct expiry
- Clear app cache and restart
Problem: Missing notifications for specific market Solutions:
- Check targetAudience is set correctly
- Verify targetMarket matches exactly
- Confirm notification is active
- Check expiry date hasn't passed
- Total notification views
- Priority distribution
- Average notification lifespan
- User engagement rates
- Most viewed notifications
- Notification expiry patterns
- Query response time
- Rendering performance
- Network request efficiency
- Cache hit rates
- Push notification integration (FCM)
- Notification read/unread status
- Notification categories/tags
- Rich media support (images, links)
- Notification search functionality
- Notification bookmarking
- User notification preferences
- Notification archive view
- Admin notification analytics
- Scheduled notification sending
- Check FAQ section in About tab
- Contact support: support@reshmeinfo.com
- Report issues on GitHub
- Review Admin Panel documentation
- Check Firestore rules configuration
- Test notifications in development mode
- Contact technical support for issues
The Notifications feature provides a robust communication channel between administrators and users of the ReshmeInfo app. With priority-based filtering, market-specific targeting, and multi-language support, it ensures users stay informed about critical market updates while maintaining a clean and intuitive user experience.
Key Benefits:
- β Real-time communication
- β Priority-based organization
- β Market-specific targeting
- β Multi-language support
- β Automatic expiry management
- β Clean, modern UI
- β Secure admin controls
Last Updated: October 30, 2025 Feature Version: 1.0.0