Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/vermaharsha/news-app

A News App using Node.js, Express, EJS, Bootstrap, and NewsAPI to search and display news.
https://github.com/vermaharsha/news-app

body-parser bootstrap ejs express-js news-api node-js nodemon

Last synced: 18 days ago
JSON representation

A News App using Node.js, Express, EJS, Bootstrap, and NewsAPI to search and display news.

Awesome Lists containing this project

README

        

# News-Appđź’»

A simple News Application built using **Node.js**, **Express**, **EJS**, **Bootstrap**, and **NewsAPI** that allows users to search and display the latest news articles.

---

## Features✨

- **Search Functionality**: Users can search for news articles by entering keywords.
- **Display News**: Displays top headlines from various news sources.
- **Responsive Design**: Uses Bootstrap for a clean, mobile-friendly UI.

---

## Tech Stack🚀

- **Backend**: Node.js, Express
- **Frontend**: EJS, Bootstrap
- **API**: NewsAPI (for fetching news articles)
- **Other**: Axios (for API calls), Body-parser, Moment.js, Math.js

---

## Installationđź“ť

1. **Clone the repository:**
```bash
git clone https://github.com/your-username/news-app.git
```
2. **Install dependencies:**
Navigate to the project directory and install the required dependencies:
```bash
cd news-app
npm install
```
3. **Set up NewsAPI:**
Go to [NewsAPI](https://newsapi.org/) and sign up for an API key.
Replace `YOUR_API_KEY` in `routes/news.js` with your actual API key.

4. **Run the App in Development Mode:**
Start the app in development mode with `nodemon` (auto-restart on code changes):
```bash
npm run dev
```
This will start the app at `http://localhost:4000`.

5. **Run the App in Production Mode:**
To start the app in production mode:

```bash
npm start
```

---

## Usage🌟
- Homepage: Displays the top headlines from multiple sources.
- Search: Users can search for specific news articles by entering a keyword in the search bar.

---

## Technologies Used🚀
- Node.js: Backend JavaScript runtime.
- Express: Web framework for Node.js.
- EJS: Template engine for rendering dynamic content.
- Axios: Promise-based HTTP client for making API requests.
- NewsAPI: Service to fetch top headlines and news articles.
- Moment.js: For formatting and manipulating dates.
- Bootstrap: Frontend framework for responsive design.

---

## Contributing🤝
Feel free to fork the repository and submit issues or pull requests. Contributions are welcome!

---

## Acknowledgementsđź“’
- NewsAPI for providing the news data.
- Bootstrap for styling the frontend.
- Moment.js for date formatting.

---

## Contact📧

For any inquiries, feedback, or suggestions, feel free to get in touch:

**Harsha Verma**
[LinkedIn](https://www.linkedin.com/in/vermaharsha)

I’d ❤️ to hear from you!