Documentation
SoftNews - Modern News & Magazine Next.js Template
A modern, responsive news website template built with Next.js 15.5.3, React 19, and Tailwind CSS 4. Features a clean design, optimized performance, and mobile-first approach perfect for news websites, blogs, and content-driven platforms.
- Template Name: SOFTNEWS - Modern News Website Next.js Template
- Author: TheSuperSoft
- Framework: Next.js 15.5.3
- UI Library: React 19
- Created: October 1, 2025
- Version: 1.0.0
- CSS Framework: Tailwind CSS 4
- Language: TypeScript 5
If you have any questions that are beyond the scope of this help file, Please feel free to contact us via Support Page
Installation
Follow the steps below to setup your SOFTNEWS template:
Prerequisites
- Node.js: 18.0 or higher
- npm: 9.0 or higher (or yarn/pnpm/bun)
- Docker: (optional) For containerized deployment
Method 1: Local Development
- Extract the downloaded template files
- Navigate to the
softnews-filesdirectory using command line (terminal/powershell) - Install dependencies by running:
npm install - Start the development server:
npm run dev - In your browser navigate to http://localhost:3000
- That's all! Now you should see your SOFTNEWS website
Docker Setup
SOFTNEWS comes with Docker support for easy deployment:
Quick Start with Docker Compose
- Navigate to the
softnews-filesdirectory - Copy environment file:
cp .env.example .env - Configure port in
.envfile (optional):PORT=3000 # Change to your preferred port - Build and run with Docker Compose:
docker-compose up -d - Access the application at http://localhost:3000
Docker Commands
# Build and start
npm run docker:up
# View logs
npm run docker:logs
# Stop container
npm run docker:down
Configuration
Environment Variables
Configure your SOFTNEWS application using environment variables in the .env file:
# Port configuration
PORT=3000
# Next.js configuration
NEXT_PUBLIC_APP_NAME=SOFTNEWS
NEXT_PUBLIC_APP_VERSION=1.0.0
# Environment
NODE_ENV=development
| Variable | Default | Description |
|---|---|---|
PORT |
3000 | Port number for the application |
NODE_ENV |
production | Environment mode |
NEXT_PUBLIC_APP_NAME |
SOFTNEWS | Application name |
NEXT_PUBLIC_APP_VERSION |
1.0.0 | Application version |
Project Structure
SOFTNEWS follows the Next.js 15 App Router structure with organized components and utilities:
π Root Directory Structure
softnews-files/
βββ src/ # Source code directory
β βββ app/ # Next.js App Router pages
β βββ components/ # Reusable components
β βββ contexts/ # React contexts
β βββ data/ # Static data files
β βββ hooks/ # Custom React hooks
β βββ utils/ # Utility functions
βββ public/ # Static assets
β βββ assets/ # Images, fonts, videos
βββ docker-compose.yml # Docker Compose configuration
βββ Dockerfile # Docker image configuration
βββ package.json # Dependencies and scripts
βββ tailwind.config.js # Tailwind CSS configuration
βββ tsconfig.json # TypeScript configuration
βββ next.config.ts # Next.js configuration
βββ postcss.config.mjs # PostCSS configuration
βββ eslint.config.mjs # ESLint configuration
π Components Structure
src/components/
βββ ui/ # Reusable UI components
β βββ Navigation.tsx # Main navigation component
β βββ GlobalLoader.tsx # Loading spinner component
β βββ Footer.tsx # Footer component
β βββ ... # Other UI components
βββ FeaturedArticles.tsx # Featured articles section
βββ LatestNews.tsx # Latest news section
βββ Newsletter.tsx # Newsletter subscription
βββ SearchResults.tsx # Search results display
βββ InternationalSection.tsx # International news
βββ ... # Other feature components
π Pages Structure (App Router)
src/app/
βββ (routes)/ # Route groups
β βββ about/ # About page
β βββ contact/ # Contact page
β βββ team/ # Team page
β βββ author/ # Author page
β βββ video-news/ # Video news page
β βββ coming-soon/ # Coming soon page
β βββ 404/ # Custom 404 page
β βββ [category]/ # Dynamic category pages
β βββ [slug]/ # Dynamic article pages
βββ globals.css # Global styles
βββ layout.tsx # Root layout
βββ page.tsx # Homepage
βββ loading.tsx # Global loading UI
βββ error.tsx # Error boundary
βββ not-found.tsx # 404 page
βββ favicon.ico # Favicon file
π Data Structure
src/data/
βββ articles.json # Sample articles data
βββ categories.json # News categories
βββ navigation.json # Navigation configuration
βββ navigationSettings.json # Navigation settings
βββ team.json # Team members data
βββ ... # Other data files
πΌοΈ Assets Structure
public/assets/
βββ img/
β βββ icons/ # Icons and logos
β β βββ logo.png # Main logo
β β βββ favicon.ico # Favicon
β βββ news/ # News article images
β βββ team/ # Team member photos
β βββ ... # Other images
βββ videos/ # Video files
βββ fonts/ # Custom fonts (if any)
Features
π Performance Features
- Next.js 15.5.3 with App Router
- React 19 with modern hooks
- Code splitting and lazy loading
- Static Site Generation (SSG)
- Custom CSS variables
π¨ Design Features
- Tailwind CSS 4 utility-first styling
- Fully responsive design
- Mobile-first approach
- Clean and modern UI
π± User Experience
- Real-time search functionality
- Contact forms with validation
- Math captcha spam protection
- Loading states and transitions
- Error handling and 404 pages
- Accessibility (WCAG compliant)
π οΈ Developer Features
- TypeScript 5 for type safety
- ESLint 9 for code quality
- Docker support for deployment
- Environment configuration
- Hot reload development
- Production-ready builds
Pages & Components
SOFTNEWS includes a comprehensive set of pages and components for news websites:
π Available Pages
- Homepage - Main landing page with featured articles and latest news
- Category Pages - Dynamic category-based content filtering
- News Details - Individual article pages with full content and comments
- Video News - Dedicated page for video content and news
- Author Page - Author profiles and their published articles
- About Us - Company information and mission
- Team Page - Team member profiles and roles
- Contact Us - Contact form with validation and location info
- 404 Error Page - Custom error handling and navigation
- Coming Soon - Maintenance or launch countdown page
- Search Results - Dynamic search functionality with filters
ποΈ Navigation Structure
// Navigation Configuration
{
"navigationItems": [
{
"name": "Home",
"href": "/",
"hasDropdown": false
},
{
"name": "Categories",
"href": "#",
"hasDropdown": false,
"useCategories": true
},
{
"name": "Pages",
"href": "#",
"hasDropdown": true,
"dropdownItems": [
{ "name": "Video News", "href": "/video-news" },
{ "name": "Author", "href": "/author" },
{ "name": "404 Error", "href": "/404" },
{ "name": "Coming Soon", "href": "/coming-soon" },
{ "name": "About Us", "href": "/about" },
{ "name": "Team", "href": "/team" },
{ "name": "Contact Us", "href": "/contact" }
]
}
]
}
π§© Key Components
// Example React Component Structure
import React from 'react'
function NewsCard({ article, featured = false }) {
return (
<article className={`
bg-white rounded-lg shadow-md overflow-hidden
${featured ? 'md:flex' : ''}
`}>
<div className="aspect-video bg-gray-200">
<img
src={article.image}
alt={article.title}
className="w-full h-full object-cover"
/>
</div>
<div className="p-6">
<h3 className="text-xl font-bold mb-2">
{article.title}
</h3>
<p className="text-gray-600 mb-4">
{article.excerpt}
</p>
<div className="flex justify-between items-center">
<span className="text-sm text-gray-500">
{article.date}
</span>
<span className="text-sm font-medium text-green-600">
{article.category}
</span>
</div>
</div>
</article>
)
}
export default NewsCard
π Page Features
π Core Pages
- Homepage: Featured articles, latest news, trending topics
- Categories: Dynamic category navigation and filtering
- News Details: Full article content, related articles, comments
- Video News: Video content display and streaming
- Search: Real-time search with advanced filters
π Information Pages
- About Us: Company story and mission statement
- Team: Staff profiles and expertise areas
- Contact: Contact form with math captcha
- Author: Journalist profiles and article history
π¨ Special Pages
- 404 Error: Custom error page with navigation options
- Coming Soon: Countdown timer and subscription form
- Dynamic Categories: Auto-generated from categories.json
- Responsive Design: All pages optimized for mobile
Customization
πΌοΈ Logo & Favicon Customization
π Logo Files Location
Your logo files are located in: public/assets/img/icons/
π¨ Changing the Logo
- Prepare your logo:
- Format: PNG, SVG, or JPG
- Recommended size: 200x60px (or proportional)
- Background: Transparent (for PNG/SVG)
- Replace the file:
# Replace the main logo public/assets/img/icons/logo.png - Update references (if filename changes):
// In Navigation component (src/components/ui/Navigation.tsx) <img src="/assets/img/icons/your-new-logo.png" alt="Your Brand" className="h-8 w-auto" />
π Changing the Favicon
- Prepare your favicon:
- Format: ICO (recommended) or PNG
- Size: 32x32px or 16x16px
- Name:
favicon.ico
- Replace the favicon:
# Method 1: Replace in app directory (Next.js 13+) src/app/favicon.ico # Method 2: Replace in public directory public/assets/img/icons/favicon.ico - Clear browser cache:
After replacing, clear your browser cache or use incognito mode to see changes
π§ Advanced Logo Configuration
// Multiple logo variants for different uses
public/assets/img/icons/
βββ logo.png # Main logo (light backgrounds)
βββ logo-dark.png # Dark variant (dark backgrounds)
βββ logo-mobile.png # Mobile optimized version
βββ favicon.ico # Browser favicon
βββ apple-touch-icon.png # Apple device icon (180x180px)
π¨ Styling with Tailwind CSS
SOFTNEWS uses Tailwind CSS 4 for styling. You can customize the design by:
// tailwind.config.js
module.exports = {
theme: {
extend: {
colors: {
primary: {
50: '#f0fdf4',
500: '#16a34a', // Your current green primary
900: '#14532d',
}
},
fontFamily: {
'sans': ['system-ui', 'sans-serif'],
}
}
}
}
π Content Management
Update content by editing JSON files in the src/data/ directory:
// src/data/articles.json
{
"featured": [
{
"id": 1,
"title": "Your News Title",
"excerpt": "Brief description of the article...",
"image": "/assets/img/news/news-1.jpg",
"category": "Technology",
"date": "2025-01-01",
"author": "John Doe"
}
]
}
πΌοΈ Images and Assets
Replace placeholder images in the public/assets/ directory with your own content:
# Image guidelines
- News images: 800x600px or 16:9 aspect ratio
- Team photos: 400x400px (square)
- Category icons: 64x64px
- Optimize images for web (use WebP when possible)
π Color Theme Customization
To change the primary color theme from green to your brand color:
- Update Tailwind config:
// Replace green-600 (#16a34a) with your color colors: { primary: { 500: '#your-color', // Main brand color 600: '#darker-shade', // Hover states 700: '#darkest-shade' // Active states } } - Update data files:
// src/data/navigationSettings.json { "primaryColor": "your-color-name" }
Deployment
π Production Build
# Build the application
npm run build
# Start production server
npm start
π³ Docker Deployment
# Build and deploy with Docker
docker-compose up -d
# Or use npm scripts
npm run docker:up
βοΈ Cloud Deployment
- Vercel: Connect your GitHub repo to Vercel for automatic deployments
- Netlify: Drag and drop your build folder or connect via Git
- AWS/Google Cloud: Use Docker containers for cloud deployment
π Performance Metrics
| Metric | Score | Description |
|---|---|---|
| First Load Time | < 1.5s | Initial page load performance |
| Lighthouse Score | 95+ | Overall performance rating |
| Bundle Size | ~102KB | Gzipped JavaScript bundle |
| SEO Score | 100/100 | Search engine optimization |
Dependencies
SOFTNEWS uses modern, lightweight dependencies for optimal performance:
π§ Core Dependencies
- Next.js 15.5.3 - React framework with App Router
- React 19.1.0 - Latest React with modern features
- React DOM 19.1.0 - React DOM bindings
- @heroicons/react 2.2.0 - Beautiful SVG icons
π οΈ Development Dependencies
- TypeScript 5 - Type-safe JavaScript development
- Tailwind CSS 4 - Utility-first CSS framework
- ESLint 9 - Code linting and quality assurance
- PostCSS - CSS processing and optimization
- @types/node - Node.js type definitions
- @types/react - React type definitions
- @types/react-dom - React DOM type definitions
π¦ Package.json Scripts
{
"scripts": {
"dev": "next dev -p ${PORT:-3000}",
"build": "next build",
"start": "next start -p ${PORT:-3000}",
"lint": "eslint",
"docker:build": "docker-compose build",
"docker:up": "docker-compose up -d",
"docker:down": "docker-compose down",
"docker:logs": "docker-compose logs -f"
}
}
Changelog
Version 1.0.0 - Current Version (October 1, 2025)
π Initial Release Features:
- β Next.js 15.5.3 with App Router
- β React 19 with latest features
- β Tailwind CSS 4 for styling
- β TypeScript 5 for type safety
- β Responsive design for all devices
- β SEO optimized pages and meta tags
- β Image optimization with Next.js Image
- β Contact forms with validation
- β Search functionality
- β Loading states and error handling
- β Docker support for deployment
- β Environment configuration
- β Production-ready build optimization
- β Accessibility (WCAG compliant)
Source & Credits
πΌοΈ Images:
- Unsplash - https://unsplash.com/
- Placeholder images for demo purposes only
π¨ Icons:
- Heroicons - https://heroicons.com/
- Tailwind CSS built-in icons
π Frameworks & Libraries:
- Next.js - https://nextjs.org/
- React - https://react.dev/
- Tailwind CSS - https://tailwindcss.com/
- TypeScript - https://www.typescriptlang.org/
Support
If this documentation doesn't answer your questions, please feel free to contact us:
π§ Get Support
We are available during business hours and respond to all inquiries within 12-24 hours on weekdays.
Donβt forget to Rate this template
Go to your Themeforest Profile > Downloads Tab > & then You can Rate & Review for our template.
Thank You.