Next.js Blog Application
A modern, responsive blog application built with Next.js 15 and Tailwind CSS. This project demonstrates best practices in building a modern web application with features like dynamic routing, API integration, and responsive design.
Screenshots
Home Page
Modern homepage with featured posts and call-to-action
Posts Page
Grid layout showing all posts with hover effects
Add Post Modal
Clean, modal-based interface for creating new posts
Post Details Page
Modern, layout interface for post details
Features
- š Built with Next.js 15 and React 19 (RC)
- š
Styled with Tailwind CSS
- š± Fully responsive design
- ā” Client-side navigation
- š Dynamic post management
- šØ Modern, minimalist UI
- š Active link highlighting
- ā Loading states with skeleton UI
Demo
Live Demo
Getting Started
Prerequisites
Installation
Clone the repository:
git clone https://github.com/yourusername/nextjs-blog.git
cd nextjs-blog
Install dependencies:
npm install
# or
yarn install
Run the development server:
npm run dev
# or
yarn dev
Open http://localhost:3000 in your browser.
Project Structure
nextjs-example/
āāā app/
ā āāā components/
ā ā āāā AddPost.js
ā ā āāā Navbar.js
ā āāā posts/
ā ā āāā page.js
ā ā āāā [postId]/
ā ā āāā page.js
ā ā āāā loading.js
ā āāā layout.js
ā āāā page.js
āāā public/
āāā styles/
āāā package.json
Features in Detail
Home Page
- Featured posts display
- Modern, responsive layout
- Call-to-action for viewing all posts
Posts Page
- Dynamic post fetching from JSONPlaceholder API
- Grid layout with responsive design
- Skeleton loading states
- Add new post functionality
- Hover animations on post cards
Add Post
- Modal-based post creation
- Form validation
- API integration
- Responsive design
- Modern form styling
Navigation
- Responsive navbar
- Active link highlighting
- Clean, minimal design
Technologies Used
- Next.js 15: React framework for production
- React 19 RC: JavaScript library for UI
- Tailwind CSS: Utility-first CSS framework
- JSONPlaceholder: Fake REST API for testing
- Geist Font: Modern typography
API Integration
The application uses JSONPlaceholder API for demonstration purposes:
- GET
/posts
: Fetch all posts
- GET
/posts/{id}
: Fetch single post
- POST
/posts
: Create new post
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
)
- Commit your changes (
git commit -m 'Add some AmazingFeature'
)
- Push to the branch (
git push origin feature/AmazingFeature
)
- Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments