{"id":22434411,"url":"https://github.com/rezwanhossen/newsgrid","last_synced_at":"2025-06-15T08:35:23.969Z","repository":{"id":257637372,"uuid":"858361004","full_name":"rezwanhossen/newsGrid","owner":"rezwanhossen","description":"newaGrid is a morden news platfro affective user an eyes personalize way to access and shear news.","archived":false,"fork":false,"pushed_at":"2024-11-09T06:56:23.000Z","size":2634,"stargazers_count":1,"open_issues_count":1,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-09T07:33:49.148Z","etag":null,"topics":["emailjs","firebase","jwt-token","react-table","reactjs","redux","stripe-js","tanstack-react-query"],"latest_commit_sha":null,"homepage":"https://newsgrid-95245.web.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rezwanhossen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-16T18:59:38.000Z","updated_at":"2024-11-09T06:56:26.000Z","dependencies_parsed_at":"2024-09-17T22:02:50.548Z","dependency_job_id":"0f3de056-c772-487c-b34f-47a6847e5ead","html_url":"https://github.com/rezwanhossen/newsGrid","commit_stats":null,"previous_names":["rezwanhossen/newsgrid"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rezwanhossen%2FnewsGrid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rezwanhossen%2FnewsGrid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rezwanhossen%2FnewsGrid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rezwanhossen%2FnewsGrid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rezwanhossen","download_url":"https://codeload.github.com/rezwanhossen/newsGrid/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228383698,"owners_count":17911329,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["emailjs","firebase","jwt-token","react-table","reactjs","redux","stripe-js","tanstack-react-query"],"created_at":"2024-12-05T23:07:48.534Z","updated_at":"2024-12-05T23:07:49.116Z","avatar_url":"https://github.com/rezwanhossen.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":" **NewsGrid**:\n\n---\n\n### **NewsGrid Setup Documentation**\n\n---\n\n#### **1. Introduction**\n**NewsGrid** is an advanced news aggregator platform offering real-time, categorized, and personalized news feeds. Users can interact with news content by submitting, liking, sharing, and bookmarking articles, all while staying updated on trends, weather, and breaking stories.\n\n#### **2. Project Overview**\n**NewsGrid** serves as a comprehensive news hub, making the latest news accessible across multiple categories and allowing user-generated content, moderated by admins. This documentation provides a complete overview of NewsGrid's features, functionality, and development guidelines.\n\n#### **3. Features in Detail**\n\n1. **Real-Time News**  \n   - Constant updates with the latest articles to keep users informed with current news.\n\n2. **Categorized News**  \n   - Allows sorting news by categories like Politics, Sports, and Entertainment.\n\n3. **Voice Search**  \n   - Users can search for news through voice commands for better accessibility.\n\n4. **Users News**  \n   - Dedicated section for articles contributed by users, displayed after admin approval.\n\n5. **My News**  \n   - Users can submit articles that, upon admin approval, are displayed on the platform.\n\n6. **Like, Comment, Share**  \n   - Social engagement options allow users to interact with articles.\n\n7. **JWT Authentication**  \n   - Provides secure access to user accounts and restricted pages using JWT-based sessions.\n\n8. **Private and Admin Routes**  \n   - Separate routes for general and admin users to ensure platform security.\n\n9. **Payments**  \n   - Users can make payments for premium features with secure gateways.\n\n10. **Report via Email.js**  \n    - Users can report issues or send feedback directly through email.\n\n11. **Social Sharing**  \n    - Articles are easily shareable on popular social media platforms.\n\n12. **Personalized News**  \n    - Custom recommendations page tailored to user interests.\n\n13. **Bookmarking**  \n    - Allows users to save articles for later access in their bookmark collection.\n\n14. **Audio News**  \n    - Users can listen to news articles for an improved accessibility experience.\n\n15. **Date-Based Search**  \n    - A search function that filters news by specific publication dates.\n\n16. **Breaking News**  \n    - Real-time stream for critical, urgent news stories.\n\n17. **Trending News**  \n    - Displays popular topics based on user interactions and engagement.\n\n18. **Recommended News**  \n    - Personalized entertainment recommendations to enhance user experience.\n\n19. **Video News**  \n    - Integrates YouTube live channels for users to watch live news.\n\n20. **Location-Based Weather News**  \n    - Displays local weather updates based on the user's location.\n\n21. **User Dashboard**\n\n    - **Add News**: Users can submit news articles, reviewed by the admin before publication.\n    - **Profile Management**: Users can update their profile information.\n    - **Category-Based News Selection**: Personalized feed by selecting preferred news categories.\n\n22. **Admin Dashboard**\n\n    - **User Management**: Admins can view all users and assign roles.\n    - **Payment History**: Admins have access to all transaction records.\n    - **News Moderation**: Admins review and approve user-submitted news for content quality.\n\n---\n\n#### **4. Architecture \u0026 Technologies**\n\n- **Frontend**: React.js for responsive, interactive UI optimized for dynamic content.\n- **Backend**: Node.js and Express.js handle server operations, authentication, and API endpoints.\n- **Database**: MongoDB for user data, news content, payment history, and bookmarks.\n- **Authentication**: JWT-based authentication for secure sessions.\n- **Payment Gateway**: Stripe or PayPal for secure transactions.\n- **Email Service**: Email.js for easy feedback and issue reporting.\n- **Social Media Integration**: Enables social sharing on Facebook, Twitter, and LinkedIn.\n- **Voice Recognition**: Hands-free search and interaction using voice recognition.\n- **Audio Playback**: Text-to-speech APIs for audio playback of news content.\n\n---\n\n#### **5. User Guide**\n\n**Home Page Features**\n\n- **Real-Time News**: Constantly updates content to display the latest news.\n- **Filter by Category**: Users can filter news by specific categories.\n- **Voice Search**: Enables voice-based searching with a microphone icon.\n- **Interact with News**: Like, comment, and share news articles.\n- **Bookmark Articles**: Save articles to read later.\n- **Audio News**: Listen to articles using the \"Listen\" option.\n- **Date-Based Search**: Calendar-based search for specific publication dates.\n- **Trending and Breaking News**: Separate sections for trending and urgent news.\n- **Video News**: Watch live news channels on the website.\n- **Local Weather Updates**: Location-based weather updates on the home page.\n\n**User Dashboard**\n\n- **Submit News**: Users can contribute articles for admin review.\n- **Manage Profile**: Edit personal details and account settings.\n- **Category Preferences**: Users can select preferred categories for a customized feed.\n\n**Admin Dashboard**\n\n- **Manage Users**: Admins can update user roles and permissions.\n- **Approve or Reject News**: Admin controls user-submitted news to maintain quality.\n- **Payment Tracking**: Admins can review all platform transactions.\n\n---\n\n#### **6. NewsGrid Setup Instructions**\n\n##### **1. Client Side Setup**\n\n1. **Clone the Client Repository**  \n   ```bash\n   git clone https://github.com/rezwanhossen/newsGrid.git\n   ```\n\n2. **Navigate to the Client Directory**  \n   ```bash\n   cd newsGrid-client\n   ```\n\n3. **Install Dependencies**  \n   ```bash\n   npm install\n   ```\n\n4. **Configure Environment Variables**  \n   Create an `.env.local` file and include the following:\n   ```env\n   VITE_apiKey=\u003cYOUR_API_KEY\u003e\n   VITE_authDomain=\u003cYOUR_AUTH_DOMAIN\u003e\n   VITE_projectId=\u003cYOUR_PROJECT_ID\u003e\n   VITE_storageBucket=\u003cYOUR_STORAGE_BUCKET\u003e\n   VITE_messagingSenderId=\u003cYOUR_MESSAGING_SENDER_ID\u003e\n   VITE_appId=\u003cYOUR_APP_ID\u003e\n\n   VITE_IMGBB_key=\u003cYOUR_IMGBB_KEY\u003e\n   VITE_pymeny=\u003cYOUR_PAYMENT_PROVIDER_KEY\u003e\n\n   VITE_NAIMUL_API_KEY=\u003cYOUR_NAIMUL_API_KEY\u003e\n   VITE_Breaking_apiKey=\u003cYOUR_BREAKING_API_KEY\u003e\n   VITE_recommended_apiKey=\u003cYOUR_RECOMMENDED_API_KEY\u003e\n   VITE_Video_apiKey=\u003cYOUR_VIDEO_API_KEY\u003e\n   ```\n\n5. **Run the Client Application**  \n   ```bash\n   npm run dev\n   ```\n\n##### **2. Server Side Setup**\n\n1. **Clone the Server Repository**  \n   ```bash\n   git clone https://github.com/rezwanhossen/newsGrid-server.git\n   ```\n\n2. **Navigate to the Server Directory**  \n   ```bash\n   cd newsGrid-server\n   ```\n\n3. **Install Dependencies**  \n   ```bash\n   npm install\n   ```\n\n4. **Configure Environment Variables**  \n   Create an `.env` file with the following keys:\n   ```env\n   DB_User=\u003cYOUR_DATABASE_USER\u003e\n   DB_Pass=\u003cYOUR_DATABASE_PASSWORD\u003e\n   ACCESS_TOKEN_SECRET=\u003cYOUR_ACCESS_TOKEN_SECRET\u003e\n   STRIP_KEY=\u003cYOUR_STRIPE_KEY\u003e\n   ```\n\n5. **Run the Server Application**  \n   ```bash\n   nodemon index.js\n   ```\n\n---\n\n### **NewsGrid Team Contributors**\n\n1. **Rezwan Hossain**  \n   **Role**: Team Leader  \n   **GitHub**: [github.com/rezwanhossen](https://github.com/rezwanhossen)\n\n2. **Naimul Islum Emon**  \n   **Role**: Contributor  \n   **GitHub**: [github.com/Naimul02](https://github.com/Naimul02)\n\n3. **Mahfuzur Islam**  \n   **Role**: Contributor  \n   **GitHub**: [github.com/mafujur-rahman](https://github.com/mafujur-rahman)\n\n4. **Md Hasan**  \n   **Role**: Contributor  \n   **GitHub**: [github.com/ahsan200t](https://github.com/ahsan200t)\n\n5. **Rafiet Rana**  \n   **Role**: Contributor  \n   **GitHub**: [github.com/rafietrana](https://github.com/rafietrana)\n\n--- \n \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frezwanhossen%2Fnewsgrid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frezwanhossen%2Fnewsgrid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frezwanhossen%2Fnewsgrid/lists"}