Musfiq R. Farhan - Blog & Portfolio Website

A modern, professional blog and portfolio website for **Musfiq R. Farhan**, a multi-talented entertainer, radio jockey, actor, and content creator from Bangladesh.

Musfiq R. Farhan - Blog & Portfolio Website

Musfiq R. Farhan - Blog & Portfolio Website

A modern, professional blog and portfolio website for Musfiq R. Farhan, a multi-talented entertainer, radio jockey, actor, and content creator from Bangladesh.

Musfiq R. Farhan - Hero Image


🌟 Key Features

📱 Public Website

  • 🏠 Home Page - Hero section with professional branding and featured blog posts
  • 📝 Blog - Full blog management system with search, filtering, and categorization
  • 📰 News & Links - Media appearances, interviews, and featured links
  • 👤 About - Professional biography and career highlights
  • 🔒 Privacy Policy - Complete privacy policy for AdSense compliance
  • 📱 Responsive Design - Mobile-first, fully responsive on all devices

🔐 Admin Dashboard

  • Secure Login - Password-protected admin area (Password: SmbSmb64)
  • ✍️ Blog Management - Create, edit, delete, and publish blog posts
  • 📌 Publish Control - Toggle between draft and published status
  • 🌟 Featured Posts - Mark posts as featured for homepage display
  • 🔗 Link Management - Manage news, interviews, and media appearances
  • 📊 Statistics - Real-time dashboard statistics

⚡ Technical Features

  • React 19 - Latest React with modern hooks and patterns
  • Tailwind CSS 4 - Utility-first CSS framework with OKLCH colors
  • 🔍 SEO Optimized - Person schema, meta tags, Open Graph, Twitter Cards
  • 📊 Google Tag Manager - Analytics tracking (GTM-WJKZBG9Z)
  • 💾 LocalStorage - Automatic data persistence in browser
  • 🎯 TypeScript - Full type safety throughout the application
  • ♿ Accessible - WCAG compliant with proper ARIA labels

📸 Gallery

Professional Images

Hero Image:
Hero

Gallery Image 1:
Gallery 1

Gallery Image 2:
Gallery 2


🌐 Social Media Links


🚀 Quick Start

Prerequisites

  • Node.js 18+
  • npm or pnpm
  • Git

Installation

# Clone the repository
git clone https://github.com/Sayadbayezid/MusfiqrFarhan.git
cd MusfiqrFarhan

# Install dependencies
pnpm install
# or
npm install

# Start development server
pnpm dev
# or
npm run dev

# Open in browser
# http://localhost:3000

Build for Production

pnpm build
# or
npm run build

Preview Production Build

pnpm preview
# or
npm run preview

📁 Project Structure

MusfiqrFarhan/
├── client/
│   ├── public/
│   │   └── favicon.ico
│   ├── src/
│   │   ├── components/
│   │   │   ├── ui/                 # shadcn/ui components
│   │   │   ├── Header.tsx          # Navigation header
│   │   │   ├── Footer.tsx          # Footer with social links
│   │   │   ├── BlogCard.tsx        # Blog post card
│   │   │   ├── SeoSchema.tsx       # SEO schema markup
│   │   │   └── ErrorBoundary.tsx
│   │   ├── contexts/
│   │   │   ├── BlogContext.tsx     # Blog state management
│   │   │   ├── LinksContext.tsx    # Links state management
│   │   │   ├── AuthContext.tsx     # Admin authentication
│   │   │   └── ThemeContext.tsx    # Theme management
│   │   ├── pages/
│   │   │   ├── Home.tsx            # Home page
│   │   │   ├── Blog.tsx            # Blog listing
│   │   │   ├── BlogDetail.tsx      # Blog post detail
│   │   │   ├── News.tsx            # News & links
│   │   │   ├── About.tsx           # About page
│   │   │   ├── PrivacyPolicy.tsx   # Privacy policy
│   │   │   ├── AdminLogin.tsx      # Admin login
│   │   │   ├── AdminDashboard.tsx  # Admin dashboard
│   │   │   └── NotFound.tsx        # 404 page
│   │   ├── App.tsx                 # Main app with routes
│   │   ├── main.tsx                # React entry point
│   │   └── index.css               # Global styles
│   └── index.html                  # HTML template
├── server/
│   └── index.ts                    # Express server
├── package.json
├── tsconfig.json
├── vite.config.ts
├── tailwind.config.ts
└── README.md

🔐 Admin Dashboard Guide

Accessing Admin Area

  1. Navigate to /admin or click "Admin" in navigation
  2. Enter password: SmbSmb64
  3. Click "Login"

Managing Blog Posts

Create New Post

  1. Click "New Post" button
  2. Fill in:
    • Title - Post headline
    • Description - Short preview text
    • Content - Full post content
    • Category - Radio, Television, Acting, Content Creation, or Personal
    • Tags - Comma-separated keywords
    • Date - Publication date
  3. Toggle "Publish post" to make public
  4. Toggle "Featured post" for homepage display
  5. Click "Create Post"

Edit Post

  1. Find post in dashboard
  2. Click "Edit" button
  3. Modify details
  4. Click "Update Post"

Delete Post

  1. Find post in dashboard
  2. Click "Delete" button
  3. Confirm deletion

Publish/Unpublish

  • Click "Public" button to publish
  • Click "Draft" button to unpublish
  • Draft posts are hidden from public blog page

Managing News & Links

Add News Link

  1. Click "News & Links" tab
  2. Click "New Link" button
  3. Fill in:
    • Title - Link headline
    • Description - Link description
    • URL - External link
    • Category - News, Interview, Feature, Appearance, or Other
    • Source - Publication/source name (optional)
    • Date - Date of appearance
  4. Toggle "Featured" if needed
  5. Click "Add Link"

Edit/Delete Links

  • Click "Edit" to modify
  • Click "Delete" to remove

💾 Data Storage

Blog Posts

  • Storage: Browser LocalStorage (blog-posts key)
  • Format: JSON array
  • Persistence: Automatic save on every change
  • Backup: Consider upgrading to database for permanent backup

News Links

  • Storage: Browser LocalStorage (news-links key)
  • Format: JSON array
  • Persistence: Automatic save on every change

Admin Session

  • Storage: Browser LocalStorage (admin-auth key)
  • Persistence: Survives page refresh in same browser
  • Scope: Not shared across browsers or devices

🎨 Customization

Update Colors

Edit client/src/index.css:

:root {
  --primary: oklch(0.35 0.12 260);        /* Primary blue */
  --secondary: oklch(0.98 0.001 286.375); /* Warm amber */
  --background: oklch(1 0 0);             /* White */
  --foreground: oklch(0.235 0.015 65);    /* Dark text */
}

Update Typography

Edit client/index.html:

<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700&family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />

Update Social Links

Edit client/src/components/SeoSchema.tsx:

export const SOCIAL_LINKS = {
  instagram: 'https://www.instagram.com/musfiqfarhan',
  facebook: 'https://www.facebook.com/share/1cQdw7JcMs/',
  imdb: 'https://www.imdb.com/name/nm11068428/bio/',
  youtube: 'https://youtube.com/@musfiqrfarhan',
  whatsapp: 'https://whatsapp.com/channel/0029VbBdG03HQbS1bTrVHF1X',
};

🔍 SEO Optimization

Implemented Features

  • ✅ Person schema with structured data
  • ✅ Meta tags (title, description, keywords)
  • ✅ Open Graph tags for social sharing
  • ✅ Twitter Card tags
  • ✅ Responsive design (mobile-friendly)
  • ✅ Fast page load
  • ✅ Proper heading hierarchy
  • ✅ Image alt text

For Google AdSense

  1. Add more blog content (10-15 posts minimum)
  2. Deploy to custom domain with HTTPS
  3. Submit to Google Search Console
  4. Wait for domain history (6+ months for new domains)
  5. Apply for AdSense

📊 Analytics

Google Tag Manager

  • ID: GTM-WJKZBG9Z
  • Status: ✅ Active
  • Tracking: Page views, user interactions, events

Connect Google Analytics 4

  1. Go to Google Tag Manager dashboard
  2. Add Google Analytics 4 tag
  3. Configure events and conversions
  4. Test tracking with Google Analytics debugger

🚀 Deployment

GitHub Pages

  1. Go to repository Settings
  2. Enable GitHub Pages
  3. Select main branch and root folder
  4. Custom domain (optional)

Custom Domain

  1. Purchase domain from registrar
  2. Add DNS records pointing to GitHub Pages
  3. Update domain in repository settings
  4. Enable HTTPS

Other Hosting Options

  • Vercel - vercel deploy
  • Netlify - Connect GitHub repo
  • Railway - Deploy from GitHub
  • Render - Connect GitHub repo

📝 Blog Post Format

Sample Post Structure

{
  id: '1',
  title: 'Post Title',
  description: 'Short description for preview',
  content: 'Full post content...',
  image: 'https://example.com/image.jpg',
  category: 'Radio',
  tags: ['tag1', 'tag2'],
  date: '2026-05-08',
  featured: true,
  published: true
}

Categories

  • Radio
  • Television
  • Acting
  • Content Creation
  • Personal

🔒 Security

Admin Password

  • Current password: SmbSmb64
  • Change in client/src/contexts/AuthContext.tsx if needed
  • Password is hardcoded (for static site)

Data Privacy

  • No data sent to external servers (except images)
  • All data stored locally in browser
  • No cookies (except Google Tag Manager)
  • Privacy policy available at /privacy

✅ Features Checklist

Completed ✅

  • Home page with hero section
  • Blog creation and management
  • News/links management
  • Admin dashboard with authentication
  • Publish/draft status control
  • Responsive design
  • SEO optimization
  • Social media integration
  • Google Tag Manager
  • Privacy policy
  • Professional images
  • Person schema markup

Future Enhancements 🎯

  • Database backend for permanent storage
  • Email newsletter subscription
  • Blog post comments
  • Social media sharing buttons
  • Advanced analytics
  • Email notifications
  • Multi-language support
  • Dark mode toggle

🛠️ Available Scripts

# Development
pnpm dev              # Start dev server on http://localhost:3000

# Production
pnpm build            # Build for production
pnpm start            # Run production server
pnpm preview          # Preview production build

# Code Quality
pnpm check            # TypeScript type check
pnpm format           # Format code with Prettier

📚 Documentation


🤝 Contributing

This is a personal portfolio website. For modifications:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

📄 License

MIT License - See LICENSE file for details


📞 Contact & Social Media


🙏 Acknowledgments

  • Built with React 19 and Tailwind CSS 4
  • UI components from shadcn/ui
  • Icons from Lucide React
  • Hosted on GitHub Pages / Custom Domain

📋 Quick Reference

Admin Login

  • URL: /admin
  • Password: type your

Public Pages

  • Home: /
  • Blog: /blog
  • Blog Post: /blog/:id
  • News: /news
  • About: /about
  • Privacy: /privacy

Data Storage Keys

  • blog-posts - Blog posts JSON
  • news-links - News links JSON
  • admin-auth - Admin session state

Last Updated: May 8, 2026
Version: 1.0.0
Status: ✅ Production Ready


See live view musfiq r farhan
Made with ❤️ for Musfiq R. Farhan
deploy: sayad Md Bayezid Hosan

Join the SmartGen Community

Get our latest tech updates, open-source guidelines, and tool reviews delivered straight to your inbox.