A modern, feature-rich news application built with Next.js, React, and Convex that delivers a seamless news reading experience.
- Responsive Design: Fully responsive layout that works beautifully across all devices
- Dark/Light Mode 🌓: Toggle between dark and light themes for comfortable reading
- Offline Support 💾: Save articles for offline reading
- Real-time Updates ⚡: Live content updates powered by Convex backend
- User Authentication 🔐: Secure authentication via Clerk
- Featured Articles 🌟: Highlighted important stories at the top
- Category Navigation 🗂️: Browse news by different categories
- Quick Bites ⚡: Short, digestible news summaries
- Video News 🎥:
- Dedicated section for video content
- RSS feed integration for XML video sources
- Article Grid 📑: Clean, organized presentation of articles
- Search Functionality 🔍: Powerful search to find specific articles
- Article Interactions ❤️:
- Like articles (requires authentication)
- Save for later reading
- Share with others
- Real-time Engagement 👥: See article popularity and interactions
- User Profiles 👤: Personalized user experience with Clerk
- Progressive Web App (PWA) 📱: Install as a native app
- Service Worker 🔄: Enhanced offline capabilities
- Server-Side Rendering ⚡: Optimized performance and SEO
- Dynamic Loading 🔄: Smooth loading states and transitions
- Real-time Database 📊: Powered by Convex for live updates
- Modern Interface: Clean and intuitive design
- Smooth Transitions ✨: Polished animations and loading states
- Skeleton Loading ⌛: Enhanced perceived performance
- Responsive Images 🖼️: Optimized image loading and display
- News Marquee 📺: Rolling headlines for quick updates
- Next.js
- React
- Convex - Backend and real-time features
- Clerk - User authentication and management
- TypeScript
- Tailwind CSS
This project uses Clerk for secure user authentication and management:
- Social login providers (Google, GitHub, etc.)
- Email/password authentication
- JWT token handling
- User profile management
- Role-based access control
- Seamless integration with Convex
- Chrome
- Firefox
- Safari
- Edge
- Node.js 18+ installed
- npm or yarn package manager
- Git
-
Clone the repository
git clone <repository-url> cd the-news
-
Install dependencies
npm install # or yarn install -
Set up environment variables Copy
.env.local.exampleto.env.localand configure:Required variables:
NEWS_API_KEY: Get from News APINEXT_PUBLIC_CONVEX_URL: Get from Convex DashboardNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: Get from Clerk DashboardCLERK_SECRET_KEY: Get from Clerk Dashboard
Optional variables:
NEXT_PUBLIC_ANALYTICS_ID: For analytics integrationNEXT_PUBLIC_SITE_URL: For social sharing features
-
Start the development server
npm run dev # or yarn dev -
Start Convex backend
npx convex dev
Your app should now be running on http://localhost:3000 🎉
npm run build
npm start
# or
yarn build
yarn start© 2024 The News. All rights reserved. 📰

