News Aggregator web site: PHP + Laravel + ReactJS
Frontend Tech:- ReactJS, TypeScript, ReactQuery by TanStack https://tanstack.com/query/v3/
Backend Tech:- PHP, Laravel, MySQL
Feature
- Signup / Signin
- Personalized Feed recommendation
- Save the Search result
- Search & Filter by text, category, author, and source
- Social SignIn (ToDo)
- Bookmark Search Result (ToDo)
- Social Share (ToDo)
- Comments & Discussion thread (ToDo)
- Provide User Independent News Feeder. So, the user can add multiple news feed sources as needed. (ToDo)
- Mobile APP using ReactJS + CapacitorJS (ToDo)
News Feed Source From
- NewAPI.org - https://newsapi.org
- The Guardian - https://www.theguardian.com
- New York Time - https://nytimes.com
Follow these commands to setup and run the frontend project.
First run nvm use
command set NodeJS version this project required.
Needs to execute before all git add/commit to fix Linting, TS, and SCSS issue and formatting.
All below command will be executed when run fix:preBuild
yarn fix:style
yarn fix:lint
yarn fix:esLint
Update const API_BASE_URL
under src/api/endpoints.ts
(NOTE: As of now static. Needs to be in ENV)
Follow all these steps to setup the backend
composer install
php artisan migrate
php artisan db:seed
php artisan passport:install
php artisan serve
will run API server on urlhttp://127.0.0.1:8000
- Import
API-document.postman_collection.json
into Postman (https://www.postman.com) - Setup variable
{{baseUrl}}
with backend URLhttp://127.0.0.1:8000
- Setup variable
{{accessToken}}
and store signIn access_token to use it in protected APIs. Like preferences endpoint. - To insert news feed in DB. Execute the API in Postman collection
Sync Feed > Get Latest News Feed
. Read its documentation and params description carefully.