Skip to content

Modern, responsive portfolio website built with Next.js 15 and TypeScript. Features multi-language support, dark/light themes, smooth animations, and a contact form with EmailJS integration.

License

Notifications You must be signed in to change notification settings

selmanyasinaktas/portfolio-web-site

Repository files navigation

🚀 Selman Yasin Aktaş - Portfolio Website

A modern, responsive portfolio website built with Next.js 15, featuring multi-language support, dark/light themes, and beautiful animations.

Next.js TypeScript Tailwind CSS License

✨ Features

  • 🌐 Multi-language Support - Turkish & English with next-intl
  • 🌙 Dark/Light Theme - With system preference detection
  • 📱 Fully Responsive - Mobile-first design approach
  • Performance Optimized - Server-side rendering with Next.js App Router
  • 🎨 Modern UI - Built with Tailwind CSS
  • 🎭 Smooth Animations - Framer Motion & AOS integration
  • 📧 Contact Form - EmailJS integration for direct messaging
  • 🔍 SEO Optimized - Meta tags, sitemap, and robots.txt

🛠️ Tech Stack

Category Technologies
Framework Next.js 15 (App Router)
Language TypeScript
Styling Tailwind CSS
Animations Framer Motion, AOS
i18n next-intl
UI Components Swiper, React Icons
Form Handling EmailJS

🚀 Getting Started

Prerequisites

  • Node.js 18.17.0 or higher
  • npm 9.0.0 or higher

Installation

# Clone the repository
git clone https://github.com/selmanyasinaktas/portfolio.git

# Navigate to directory
cd portfolio

# Install dependencies
npm install

# Create environment file
cp env.example .env.local

# Run development server
npm run dev

Open http://localhost:3000 to view in browser.

Environment Variables

Create a .env.local file with the following variables:

# EmailJS Configuration (for contact form)
NEXT_PUBLIC_EMAILJS_SERVICE_ID=your_service_id
NEXT_PUBLIC_EMAILJS_TEMPLATE_ID=your_template_id
NEXT_PUBLIC_EMAILJS_PUBLIC_KEY=your_public_key

📁 Project Structure

src/
├── app/
│   └── [locale]/           # Internationalized routes
│       ├── about/          # About page
│       ├── articles/       # Blog articles page
│       ├── contact/        # Contact page
│       ├── projects/       # Projects showcase
│       ├── layout.tsx      # Root layout
│       └── page.tsx        # Home page
├── components/             # Reusable UI components
│   ├── CardFlip.tsx        # Flip card animation
│   ├── Footer.tsx          # Footer component
│   ├── Navbar.tsx          # Navigation bar
│   ├── ScrollToTop.tsx     # Scroll to top button
│   ├── ThemeSwitch.tsx     # Dark/Light toggle
│   └── LanguageSwitch.tsx  # Language selector
├── context/                # React Context providers
│   └── ThemeContext.tsx    # Theme state management
├── i18n/                   # Internationalization config
└── messages/               # Translation files
    ├── en.json             # English translations
    └── tr.json             # Turkish translations

🌐 Live Demo

🔗 https://selmanyasinaktas.vercel.app

📸 Screenshots

Light Mode

Light Mode

Dark Mode

Dark Mode

🚀 Deployment

This project is optimized for deployment on Vercel:

Deploy with Vercel

📝 License

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

🤝 Contributing

Contributions, issues, and feature requests are welcome! Feel free to check the issues page.

📧 Contact

Selman Yasin Aktaş


Made with ❤️ by Selman Yasin Aktaş

About

Modern, responsive portfolio website built with Next.js 15 and TypeScript. Features multi-language support, dark/light themes, smooth animations, and a contact form with EmailJS integration.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published