A user-friendly news aggregator web app built with React and Tailwind CSS. This web app fetches news from different news APIs, stores the data in its own database, and displays it like posts when the user requests. Users can like, bookmark news they like, and search for specific articles by category. To use this web app, the user must create an account.
- Fetch news from different news platforms.
- Search for news articles by keywords or category.
- View and read full articles.
- Bookmark articles for later reading.
- Like articles to show preference.
- User authentication and management (sign up, login, logout).
- JavaScript
- React
- Tailwind CSS
- Axios (for HTTP requests)
- React-Redux (for state management)
- React Router (for page navigation)
This project is built with React and Tailwind, so make sure you have node.js installed on your machine. Follow the steps below to set up the project locally.
news-aggregator
├── backend # Backend logic for the app
└── frontend # React frontend UI
└── README.md # Project documentation
- Create a folder named
news-aggregator
(or any name you prefer) and open it in a code editor likeVS Code
. - Open the terminal/command prompt inside the folder and run the following command to set up the
React
app:
-> npx create-react-app frontend
This will create a frontend folder with the basic React project setup.
-> cd frontend
Inside the frontend
folder, install the necessary dependencies for the project:
-> npm install axios
-> npm install react-redux
-> npm install @reduxjs/toolkit
-> npm install react-router
-> npm install -D tailwindcss@3
- Inside the
frontend
folder, you will find asrc
folder that was created bycreate-react-app
. You need to replace thissrc
folder with thesrc
folder from the project you downloaded. - Delete the existing
src
folder insidefrontend
, and then copy thesrc
folder from your downloaded project into thefrontend
folder. - For the Tailwind CSS configuration, copy the
tailwind.config.js
file from the downloaded folder and paste it into thefrontend
folder.
Now you can start the React development server and view the app in your browser.
-> npm start
This will start the app at http://localhost:3000 by default.
{
"newsID": "",
"sourceName": "",
"sourceIcon": "",
"sourceImage": "",
"sourceTitle": "",
"sourceDescription": "",
"fullArticle": " ",
"likes": 0,
"reads": 0,
"comments": [{
"userName":"",
"userImage": "",
"comment": ""
}]
},
{
"userName": "",
"userImage": "",
"bookmarks": []
}
This project is licensed under the MIT License