Thanks to visit codestin.com
Credit goes to GitHub.com

Skip to content

A full-stack news application built with the MERN stack (MongoDB, Express, React, Node.js). Features real-time news fetching from the GNews API, AI-powered article summarization via Google's Gemini, and secure user authentication with JWT. Users can browse, search, and save AI-generated summaries to their personal dashboard.

License

Notifications You must be signed in to change notification settings

D-Majumder/News-Dash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

News-Dash

project-image

A full-stack news application built with the MERN stack (MongoDB Express React Node.js). Features real-time news fetching from the GNews API AI-powered article summarization via Google's Gemini and secure user authentication with JWT. Users can browse search and save AI-generated summaries to their personal dashboard.

shieldsshieldsshieldsshieldsshieldsshieldsshields

🚀 Demo

https://dm-newsdash.netlify.app/

🧐 Features

Here're some of the project's best features:

  • Live News Feed: The app fetches and displays up-to-the-minute news articles from a live global news API (GNews).
  • Dynamic Content Filtering: Users can instantly filter the news feed by clicking on various categories like "Business" "Technology" or "Sports."
  • Keyword Search: A fully functional search bar allows users to find articles on any topic they choose.
  • Trending News Section: A dedicated "Trending" tab shows the most important breaking headlines.
  • Interactive Article Cards: A clean grid-based layout of news articles that are interactive on hover.
  • Detailed Article View: Clicking an article opens a modal with more details including a description and a direct link to the original source.

🛠️ Installation Steps:

1. Clone the repository:

git clone https://github.com/D-Majumder/News-Dash

2. Set up the Backend:

- Navigate to the /server directory.
- Follow the instructions in the server/README.md file to install dependencies, set up your .env file with your secret keys, and start the server.

3. Set up the Frontend:

- Navigate to the /client directory.
- Install dependencies: npm install
- Start the React application: npm start

The frontend will open at http://localhost:3000 and will automatically connect to your local backend server running on port 5000.

4. Environment Variables:

-The backend requires a .env file in the /server directory. Create this file by copying the .env.example file and filling in your secret keys.
/*/.env
# Get your key from [https://gnews.io/](https://gnews.io/)
GNEWS_API_KEY=PASTE_YOUR_GNEWS_API_KEY_HERE

# Get your key from [https://ai.google.dev/](https://ai.google.dev/)
GEMINI_API_KEY=PASTE_YOUR_GEMINI_API_KEY_HERE

# Get your connection string from MongoDB Atlas
MONGO_URI=PASTE_YOUR_MONGODB_CONNECTION_STRING_HERE

# Make up any random, secret phrase for signing JWTs
JWT_SECRET=YOUR_RANDOM_SECRET_STRING_GOES_HERE

💻 Built with

Technologies used in the project:

  • React
  • Tailwind CSS
  • Node.js
  • Express.js
  • Axios
  • MongoDB
  • Mongoose
  • JSON Web Tokens
  • bcrypt.js
  • dotenv
  • Google Gemini API
  • GNews API
  • Netlify
  • Render
  • Git & GitHub

🛡️ License:

This project is licensed under the GNU

About

A full-stack news application built with the MERN stack (MongoDB, Express, React, Node.js). Features real-time news fetching from the GNews API, AI-powered article summarization via Google's Gemini, and secure user authentication with JWT. Users can browse, search, and save AI-generated summaries to their personal dashboard.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •