A sophisticated news aggregation platform built with React, Node.js, and modern web technologies. This application aggregates news from multiple sources, provides intelligent summaries, and offers a seamless reading experience.
- 🔄 Real-time news aggregation from multiple trusted sources
- 🤖 AI-powered article summarization
- 📱 Responsive design for all devices
- 🎯 Category-based news filtering
- 🌙 Modern, clean UI with smooth animations
- ⚡ Fast and efficient content delivery
- 🔍 Smart content extraction and cleaning
- React - UI Framework
- TypeScript - Type Safety
- TailwindCSS - Styling
- React Router - Navigation
- Axios - HTTP Client
- Lucide React - Icons
- Node.js - Runtime
- Express - Web Framework
- Cheerio - Web Scraping
- Natural - Text Processing
- Axios - HTTP Client
-
Clone the repository
git clone https://github.com/DadvaiahPavan/NewsAggregator.git cd news-aggregator
-
Install dependencies
# Install frontend dependencies cd src npm install # Install backend dependencies cd ../server npm install
-
Start the development servers
# Start backend server (from /server directory) npm start # Start frontend development server (from /src directory) npm run dev
-
Open your browser
- Frontend: http://localhost:5173
- Backend API: http://localhost:3000
-
Browse News
- Visit the homepage to see trending news
- Use the navigation bar to filter news by category
- Scroll through the responsive article grid
-
Read Summaries
- Click "Summarize" on any article to view AI-generated summary
- Access original articles via "Read More"
-
Mobile Experience
- Fully responsive design
- Touch-friendly interface
- Mobile-optimized reading experience
- Article Cards: Modern, interactive cards displaying news previews
- Smart Navbar: Category-based navigation with mobile responsiveness
- Summary Generator: AI-powered content summarization
- Content Extractor: Intelligent article content extraction
- Category Filters: Easy news filtering by topics
Create a .env
file in the server directory:
PORT=3000
NODE_ENV=development
# Add any API keys or secrets here
- Efficient content caching
- Lazy loading of images
- Code splitting
- Optimized build process
- Smart data fetching
- Input sanitization
- Rate limiting
- CORS protection
- Error handling
- Secure HTTP headers
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- News data providers
- Open-source community
- UI/UX inspiration sources
- Contributors and testers
For support, email pavannetha219@gmail.com or open an issue in the repository.
- Create a new account on Render.com or Heroku
- Create a new Web Service
- Connect your GitHub repository
- Set the following:
- Build Command:
npm install
- Start Command:
node server/server.js
- Environment Variables:
NODE_ENV=production PORT=3000
- Build Command:
- Create a new account on Netlify
- Connect your GitHub repository
- Set the following build settings:
- Base directory:
src
- Build command:
npm run build
- Publish directory:
src/dist
- Base directory:
- Add environment variables:
VITE_API_URL=https://your-backend-url.com
- Clone the repository
- Install dependencies:
# Install backend dependencies cd server npm install # Install frontend dependencies cd ../src npm install
- Start the development servers:
# Start backend (from server directory) npm start # Start frontend (from src directory) npm run dev
-
Push your code to GitHub
-
Deploy the backend:
- Create a new web service on Render/Heroku
- Connect your repository
- Configure environment variables
- Deploy the service
- Copy the deployed URL
-
Deploy the frontend:
- Log in to Netlify
- Import your repository
- Configure build settings
- Set the VITE_API_URL environment variable to your backend URL
- Deploy the site
-
Test the deployed application
NODE_ENV
: Set to 'production' in productionPORT
: Port number (default: 3000)
VITE_API_URL
: URL of the backend API
- Monitor server logs through your hosting platform
- Check API response times and errors
- Monitor resource usage
- Set up alerts for critical errors
Made with ❤️ by Pavan Dadvaiah