A feature-rich blog application showcasing modern web development capabilities including routing, data fetching, caching, streaming, styling, error handling, image optimization, metadata, MDX, and more.
- β File-system routing with App Router
- β Dynamic routes with parameters
- β Nested layouts and shared UI
- β Navigation components with active states
- β Prefetching and caching
- β Server Components with data fetching
- β Request memoization and data cache
- β Mock JSON server for development
- β API routes with filtering and pagination
- β Revalidation strategies
- β React Suspense for loading states
- β Streaming for slow data sources
- β Loading UI components
- β Progressive page loading
- β Modern CSS with Tailwind
- β Responsive design patterns
- β Dark mode support
- β Custom components and utilities
- β CSS modules integration
- β Error boundaries and error pages
- β Custom 404 and error handling
- β Global error management
- β Error recovery mechanisms
- β Next.js Image component
- β Automatic optimization and WebP
- β Responsive images
- β Placeholders and lazy loading
- β Core Web Vitals optimization
- β Dynamic metadata generation
- β OpenGraph and Twitter cards
- β Structured data
- β Font optimization
- β Script optimization
- β MDX support with React components
- β Syntax highlighting
- β Interactive components
- β Custom MDX components
- β Typography styling
- β Blog post listing with filtering
- β Category and tag filtering
- β Search functionality
- β Sorting and pagination
- β Related posts
- β Author information
- β Dark/light mode toggle
- β Theme persistence with cookies
- β Custom HTML components
- β Accessibility features
- β Static generation with ISR
- β Edge runtime optimization
- β Vercel deployment ready
- β Performance monitoring
- β Core Web Vitals optimization
- Framework: Next.js 14 with App Router
- Language: TypeScript
- Styling: Tailwind CSS
- Content: MDX with React components
- Icons: Lucide React
- Deployment: Vercel
- Performance: Lighthouse 100/100
- Node.js 18+
- npm or yarn
- Clone the repository:
git clone <repository-url>
cd kannan-blogs- Install dependencies:
npm install- Start the development server:
npm run dev- Start the mock JSON server (in another terminal):
npm run json-server- Open http://localhost:3000 in your browser.
βββ app/ # App Router pages
β βββ api/ # API routes
β βββ blog/ # Blog pages
β βββ gallery/ # Image gallery
β βββ mdx-demo/ # MDX demonstration
β βββ about/ # About page
β βββ globals.css # Global styles
β βββ layout.tsx # Root layout
β βββ page.tsx # Home page
β βββ loading.tsx # Loading UI
β βββ error.tsx # Error UI
β βββ not-found.tsx # 404 page
β βββ global-error.tsx # Global error UI
βββ components/ # React components
β βββ ui/ # UI components
β βββ blog-*.tsx # Blog components
β βββ navigation.tsx # Navigation
β βββ theme-*.tsx # Theme components
βββ data/ # Mock data
βββ lib/ # Utilities
βββ public/ # Static assets
- Automatic route generation based on folder structure
- Dynamic routes with
[slug]parameters - Nested layouts for shared UI
- Server Components for data fetching
- Client Components for interactivity
- Caching strategies and revalidation
- Error handling and loading states
- Image optimization with Next.js Image
- Code splitting and lazy loading
- Streaming and Suspense
- Core Web Vitals optimization
- TypeScript for type safety
- Tailwind CSS for styling
- ESLint and Prettier for code quality
- Component composition patterns
- Push your code to GitHub
- Connect your repository to Vercel
- Deploy with zero configuration
npm run build
npm start- Lighthouse Performance: 100/100
- Lighthouse Accessibility: 100/100
- Lighthouse Best Practices: 100/100
- Lighthouse SEO: 100/100
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License.
- Next.js team for the amazing framework
- Vercel for deployment platform
- Tailwind CSS for styling utilities
- All contributors and the open-source community