A modern, performant blog platform built with Next.js 14, React 18, and TailwindCSS.
- Modern UI with shadcn/ui components
- Server-side rendering with Next.js 14
- TypeScript support for enhanced type safety
- Responsive design
- Optimized font loading with next/font
- ESLint configuration for code quality
- Integration with Strapi-based content management system
- Framework: Next.js 14.2.15
- Language: TypeScript 5
- Styling:
- TailwindCSS 3.4
- Class Variance Authority 0.7
- Tailwind Merge
- UI Components:
- shadcn/ui (built on Radix UI primitives)
- Lucide React Icons
- Content Management: Strapi (via deadlock-content-server)
- Development Tools:
- ESLint 8
- PostCSS 8
- Node.js TypeScript types
- Node.js (Latest LTS version recommended)
- npm 6.0.0 or higher
- Clone the repository
- Install dependencies:
npm install
-
Ensure the content server is running (see deadlock-content-server README)
-
Run the development server:
npm run dev
- Open http://localhost:3000 with your browser to see the result.
deadlock-blog/
├── app/ # Next.js app directory
├── components/ # Reusable UI components
├── lib/ # Utility functions and shared logic
└── styles/ # Global styles and Tailwind configuration
npm run dev
- Start development servernpm run build
- Build production bundlenpm run start
- Start production servernpm run lint
- Run ESLint
This blog is part of a larger system:
- Frontend: This Next.js application (deadlock-blog)
- Backend: Strapi CMS (deadlock-content-server)
- Database: SQLite (managed by Strapi)
The blog fetches content from the Strapi backend running at http://localhost:3001
by default.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.