Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dadvaiahpavan/newsai
NewsAI is a modern, responsive news aggregation platform built with React, TypeScript, and Tailwind CSS. It provides users with a seamless experience to browse, search, and summarize news articles from various categories and sources worldwide.
https://github.com/dadvaiahpavan/newsai
axios framer-motion lucide-icons lucide-react newsdataapi rapid-api reacat react reactrouterdom tailwandcss typescript
Last synced: 13 days ago
JSON representation
NewsAI is a modern, responsive news aggregation platform built with React, TypeScript, and Tailwind CSS. It provides users with a seamless experience to browse, search, and summarize news articles from various categories and sources worldwide.
- Host: GitHub
- URL: https://github.com/dadvaiahpavan/newsai
- Owner: DadvaiahPavan
- License: mit
- Created: 2024-12-06T08:07:57.000Z (28 days ago)
- Default Branch: main
- Last Pushed: 2024-12-19T12:08:12.000Z (15 days ago)
- Last Synced: 2024-12-19T13:21:55.235Z (15 days ago)
- Topics: axios, framer-motion, lucide-icons, lucide-react, newsdataapi, rapid-api, reacat, react, reactrouterdom, tailwandcss, typescript
- Language: TypeScript
- Homepage:
- Size: 81.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# NewsAI - Modern News Aggregator
NewsAI is a modern, responsive news aggregation platform built with React, TypeScript, and Tailwind CSS. It provides users with a seamless experience to browse, search, and summarize news articles from various categories and sources worldwide.
![Web UI](https://i.ibb.co/KKMBZnY/Screenshot-2024-11-12-142759.png)
![Web UI](https://i.ibb.co/XLNfDST/Screenshot-2024-11-12-142840.png)## 🌟 Features
- **Real-time News Updates**: Access the latest news articles from trusted sources
- **Category-based Navigation**: Browse news by categories including:
- Top Headlines
- Business
- Technology
- Health
- Sports
- Entertainment
- Science- **Smart Search**: Search for specific news topics with advanced filtering
- **AI-Powered Summaries**: Get quick, AI-generated summaries of articles
- **Multi-language Support**: Available in:
- English
- Spanish
- French
- German
- Italian- **International Coverage**: News from multiple countries including:
- United States
- United Kingdom
- India
- Canada
- Australia- **Modern UI/UX**: Beautiful, responsive design with smooth animations
- **Article Management**: Save and organize your favorite articles## 🚀 Technologies Used
- **Frontend**:
- React 18
- TypeScript
- Tailwind CSS
- Framer Motion
- React Router DOM
- Axios
- Lucide React Icons- **APIs**:
- NewsData.io API
- Article Extractor and Summarizer API## 📦 Installation
1. Clone the repository:
```bash
git clone https://github.com/DadvaiahPavan/NewsAI
cd NewsAI
```2. Install dependencies:
```bash
cd project
npm install
```3. Create a `.env` file in the project root and add your API keys:
```env
VITE_NEWS_API_KEY=your_newsdata_io_api_key
VITE_SUMMARY_API_KEY=your_summary_api_key
```4. Start the development server:
```bash
npm run dev
```5. Open [http://localhost:5173](http://localhost:5173) in your browser
## 🔧 Configuration
The application can be configured through various environment variables:
- `VITE_NEWS_API_KEY`: Your NewsData.io API key
- `VITE_SUMMARY_API_KEY`: Your Article Summarizer API key## 🌐 API Integration
### NewsData.io API
- Used for fetching real-time news articles
- Supports multiple languages and countries
- Provides category-based filtering### Article Summarizer API
- Generates concise summaries of news articles
- Supports multiple languages
- Configurable summary length## 🎨 UI Features
- Responsive design that works on all devices
- Dark mode support
- Smooth animations and transitions
- Category-based color coding
- Loading states and error handling
- Modern card-based article layout## 🔍 Search Features
- Real-time search suggestions
- Advanced filtering options
- Support for multiple languages
- Category-specific search## 📱 Mobile Support
The application is fully responsive and provides a seamless experience on:
- Desktop browsers
- Tablets
- Mobile devices## 🛠️ Development
### Available Scripts
- `npm run dev`: Start development server
- `npm run build`: Build for production
- `npm run preview`: Preview production build
- `npm run lint`: Run ESLint### Project Structure
```
project/
├── src/
│ ├── components/ # Reusable UI components
│ ├── pages/ # Page components
│ ├── services/ # API and other services
│ ├── types/ # TypeScript type definitions
│ ├── config/ # Configuration files
│ └── utils/ # Utility functions
├── public/ # Static assets
└── dist/ # Production build
```## 🤝 Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request## 📄 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE.txt) file for details.
## 🙏 Acknowledgments
- [NewsData.io](https://newsdata.io/) for providing the news API
- [RapidAPI](https://rapidapi.com/) for the article summarization API
- [Tailwind CSS](https://tailwindcss.com/) for the styling framework
- [React](https://reactjs.org/) for the frontend framework
- [Vite](https://vitejs.dev/) for the build tool