Skip to content

Gitnaseem745/portfolio-wisp-blog

Repository files navigation

Wisp Portfolio

Next.js TypeScript TailwindCSS License: MIT Deploy with Vercel

A minimal and modern portfolio website built with Next.js 14+, TypeScript, and TailwindCSS. Features a clean, responsive design with light/dark theme support and smooth animations.

Live Demo: View Live Site | Preview: Portfolio Preview

πŸ“‹ Table of Contents

✨ Features

  • πŸš€ Next.js 14+ with App Router for modern React development
  • πŸ”· TypeScript for enhanced type safety and developer experience
  • 🎨 TailwindCSS for rapid UI development and responsive design
  • ✨ Framer Motion for smooth animations and page transitions
  • 🎯 Lucide React for beautiful, consistent iconography
  • πŸŒ™ next-themes for seamless light/dark theme switching
  • πŸ“± Fully Responsive design that works on all devices
  • ⚑ Performance Optimized with Next.js best practices
  • πŸ”§ ESLint + Prettier for maintainable code quality
  • πŸš€ Vercel-ready deployment configuration

πŸ› οΈ Tech Stack

Category Technology Version
Framework Next.js 14+
Language TypeScript 5.0+
Styling TailwindCSS 3.0+
Animations Framer Motion Latest
Icons Lucide React Latest
Theming next-themes Latest
Code Quality ESLint + Prettier Latest

πŸš€ Getting Started

πŸ“‹ Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js (version 18 or higher)
  • npm or yarn package manager
  • Git for cloning the repository

⚑ Quick Start

  1. Clone the repository:
git clone https://github.com/Gitnaseem745/portfolio-wisp-blog.git
cd portfolio-wisp-blog
  1. Install dependencies:
npm install
# or
yarn install
  1. Start the development server:
npm run dev
# or
yarn dev
  1. Open your browser:

Visit http://localhost:3000 to see your portfolio in action! πŸŽ‰

πŸ”§ Environment Setup

Create a .env.local file in the root directory for any environment variables:

# Example environment variables
NEXT_PUBLIC_SITE_URL=http://localhost:3000
NEXT_PUBLIC_ANALYTICS_ID=your_analytics_id

πŸ“ Project Structure

portfolio-wisp-blog/
β”œβ”€β”€ πŸ“ public/                  # Static assets
β”‚   β”œβ”€β”€ πŸ–ΌοΈ  images/            # Image assets
β”‚   └── πŸ“„ *.svg               # SVG icons
β”œβ”€β”€ πŸ“ src/
β”‚   β”œβ”€β”€ πŸ“ app/                # Next.js App Router pages
β”‚   β”‚   β”œβ”€β”€ πŸ“„ layout.tsx      # Root layout
β”‚   β”‚   β”œβ”€β”€ πŸ“„ page.tsx        # Home page
β”‚   β”‚   └── πŸ“ blog/           # Blog pages
β”‚   β”œβ”€β”€ πŸ“ components/         # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ 🎨 button.tsx      # Custom button component
β”‚   β”‚   β”œβ”€β”€ 🎨 header.tsx      # Navigation header
β”‚   β”‚   β”œβ”€β”€ 🎨 footer.tsx      # Site footer
β”‚   β”‚   └── πŸŒ™ theme-toggle.tsx # Dark/light mode toggle
β”‚   β”œβ”€β”€ πŸ“ sections/           # Page sections
β”‚   β”‚   β”œβ”€β”€ 🏠 hero-section.tsx
β”‚   β”‚   β”œβ”€β”€ πŸ’Ό experience-section.tsx
β”‚   β”‚   β”œβ”€β”€ πŸ› οΈ  skills-section.tsx
β”‚   β”‚   └── πŸ“§ contact-section.tsx
β”‚   β”œβ”€β”€ πŸ“ lib/                # Utility functions
β”‚   └── πŸ“ config/             # Configuration files
β”‚       └── βš™οΈ  siteConfig.ts   # Site-wide settings
β”œβ”€β”€ πŸ“„ package.json            # Dependencies and scripts
β”œβ”€β”€ πŸ“„ tailwind.config.ts      # TailwindCSS configuration
β”œβ”€β”€ πŸ“„ tsconfig.json           # TypeScript configuration
└── πŸ“„ next.config.ts          # Next.js configuration

πŸ› οΈ Available Scripts

Script Command Description
Development npm run dev πŸš€ Start development server with hot reload
Build npm run build πŸ—οΈ Build optimized production bundle
Start npm run start ▢️ Start production server
Lint npm run lint πŸ” Run ESLint for code quality checks
Lint Fix npm run lint:fix πŸ”§ Fix ESLint issues automatically
Type Check npm run type-check πŸ“ Run TypeScript type checking

🎯 Development Workflow

# Start development with hot reload
npm run dev

# Run linting and type checking
npm run lint && npm run type-check

# Build for production
npm run build

# Preview production build locally
npm run start

🎨 Customization

πŸ”§ Site Configuration

Customize your portfolio by editing src/config/siteConfig.ts:

export const siteConfig = {
  name: "Your Name",
  title: "Your Portfolio Title",
  description: "Your portfolio description",
  url: "https://yoursite.com",
  // ... more configurations
}

Available customizations:

  • πŸ“ Site metadata (title, description, keywords)
  • 🎨 Theme colors and design tokens
  • πŸ–‹οΈ Typography settings and font configurations
  • ✨ Animation configurations and timing
  • πŸ”— Social media links and contact information
  • 🌐 SEO settings and meta tags

πŸŒ™ Theme System

The portfolio supports both light and dark modes with:

  • Automatic system preference detection
  • Manual theme toggle
  • Persistent theme selection
  • Smooth theme transitions
  • Custom color schemes

🎭 Adding New Sections

  1. Create a new component in src/sections/
  2. Import and add it to your main page
  3. Configure styling and animations
  4. Update navigation if needed

Example:

// src/sections/new-section.tsx
export function NewSection() {
  return (
    <section className="py-20">
      {/* Your content */}
    </section>
  );
}

πŸ“¦ Deployment

πŸš€ Vercel (Recommended)

Deploy your portfolio to Vercel with one click:

Deploy with Vercel

Manual Vercel deployment:

  1. Push to GitHub: Push your code to a GitHub repository
  2. Connect Vercel: Import your repository on Vercel
  3. Deploy: Vercel will automatically build and deploy your site
  4. Custom Domain: Add your custom domain in Vercel settings

🌐 Other Deployment Options

The portfolio builds to static files and can be deployed anywhere:

Platform Command Notes
Netlify npm run build Drag & drop out/ folder or connect via Git
GitHub Pages npm run build Use GitHub Actions for automatic deployment
AWS S3 npm run build Upload out/ folder to S3 bucket
Firebase Hosting npm run build Use Firebase CLI to deploy

πŸ”§ Build Configuration

# Build for production
npm run build

# The build output will be in the 'out' directory
# Ready for static hosting deployment

🌍 Environment Variables

For production deployment, set these environment variables:

NEXT_PUBLIC_SITE_URL=https://yourdomain.com
NEXT_PUBLIC_ANALYTICS_ID=your_analytics_id
# Add other environment variables as needed

🀝 Contributing

We welcome contributions from the community! Here's how you can help:

πŸ› Reporting Issues

  • Use the Issue Tracker to report bugs
  • Include detailed reproduction steps
  • Provide system information and screenshots when relevant

πŸ’‘ Suggesting Enhancements

  • Open an Enhancement Request
  • Describe the feature and its benefits
  • Include mockups or examples if applicable

πŸ”§ Development Contribution

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes following our coding standards
  4. Test your changes thoroughly
  5. Commit with descriptive messages: git commit -m 'feat: add amazing feature'
  6. Push to your branch: git push origin feature/amazing-feature
  7. Open a Pull Request

οΏ½ Development Guidelines

  • Follow the existing code style and patterns
  • Write descriptive commit messages
  • Add comments for complex logic
  • Test your changes across different screen sizes
  • Ensure TypeScript types are properly defined
  • Run npm run lint before committing

🎯 Areas for Contribution

  • πŸ› Bug fixes and improvements
  • πŸ“± Mobile responsiveness enhancements
  • β™Ώ Accessibility improvements
  • 🎨 New theme options
  • πŸ“ Documentation updates
  • πŸ”§ Performance optimizations

πŸ™ Acknowledgments

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

MIT License

Copyright (c) 2025 Naseem's Portfolio

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

About

This repo contains all the codebase of the portfolio site template i build for Nextlaunch platform.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published