NewsCurator is a personalized news dashboard mobile application built with React Native and Expo. The app aggregates trending articles from NewsAPI and lets users filter news by interests (tech, science, etc.), bookmark favorite articles, and manage their profile—all through an intuitive, user-friendly interface.
Table of Contents
NewsCurator delivers a personalized news experience by:
- Presenting trending articles based on user interests.
- Enabling users to filter news using common tags or custom text searches.
- Offering bookmark functionality to save and manage favorite articles.
- Providing a secure user authentication system with JWT-based sign-up and sign-in.
- Allowing users to review their profile details and logout seamlessly.
-
User Authentication:
Secure sign-up and sign-in with JWT authentication. -
News Dashboard:
- Loads trending news articles from NewsAPI with pagination support.
- Allows filtering by predefined tags (e.g., tech, science) and custom search queries.
-
Bookmark Management:
- Bookmark favorite news articles.
- View and delete bookmarks from a dedicated section.
-
User Profile:
- Access personal details.
- Logout functionality to ensure a secure session.
- React Native & Expo:
Cross-platform mobile development with Expo. - TypeScript:
Robust and scalable code with static type-checking. - Redux & Redux-Thunk:
Efficient state management and asynchronous API integration. - Axios:
Simplified HTTP requests to the backend API. - NativeWind:
Utility-first styling for rapid and responsive design.
-
Clone the Repository:
git clone https://github.com/jlokitha/NewsCurator-Frontend.git cd NewsCurator-Frontend
-
Install Dependencies:
npm install
-
Run the Application:
npm start
or
expo start
-
Test on Device/Emulator:
- Scan the QR code with the Expo Go app on your mobile device.
- Alternatively, run on an emulator using the provided Expo options.
Access the NewsCurator Backend repository on GitHub here.
For API testing and integration details, check out the Postman collection here.
This project is licensed under the MIT License.
© 2025 Janindu Lokitha