Enhanced the Discover section with personalization f
eatures and category navigation
1. Backend Enhancements
1.1. Database Schema Updates
-Added a user Preferences table to store user
category preferences
-Set default preferences to AI and Technology
1.2. Category-Based Search
-Created a comprehensive category system with specialized search queries
for each category
-Implemented 11 categories: AI, Technology, Current News, Sports, Money,
Gaming, Weather, Entertainment, Art & Culture, Science, Health, and Travel
-Each category searches relevant websites with appropriate keywords
-Updated the search sources for each category with more reputable websites
1.3. New API Endpoints
-Enhanced the main /discover endpoint to support category filtering and
preference-based content
-Added /discover/preferences endpoints for getting and saving user
preferences
2. Frontend Improvements
2.1 Category Navigation Bar
-Added a horizontal scrollable category bar at the top of the Discover
page
-Active category is highlighted with the primary color with smooth
scrolling animation via tight/left buttons
"For You" category shows personalised content based on saved preferences.
2.2 Personalization Feature
- Added a Settings button in the top-right corner
- Implemented a personalisation modal that allows users to select their
preferred categories
- Implemented language checkboxes grid for 12 major languages that allow
users to select multiple languages for their preferred language in the
results
-Updated the backend to filter search results by the selected language
- Preferences are saved to the backend and persist between sessions
3.2 UI Enhancements
Improved layout with better spacing and transitions
Added hover effects for better interactivity
Ensured the design is responsive across different screen sizes
How It Works
-Users can click on category tabs to view news specific to that category
The "For You" tab shows a personalized feed based on the user's saved
preferences
-Users can customize their preferences by clicking the Settings icon and
selecting categories and preferered language(s).
-When preferences are saved, the "For You" feed automatically updates to
reflect those preferences
-These improvements make the Discover section more engaging and
personalized, allowing users to easily find content that interests
them across a wide range of categories.