Skip to content

umutxyp/Personal-Website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

107 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Umut Bayraktar - Portfolio

Modern, high-performance portfolio website built with Next.js 16, Once UI, and TypeScript. Showcasing projects, experience, and technical expertise as a Full-Stack Developer and Founder of Codeshare Technology Ltd.

✨ Features

  • πŸš€ Next.js 16 - Latest React framework with App Router
  • 🎨 Once UI System - Beautiful, accessible component library
  • πŸ“± Fully Responsive - Optimized for all devices
  • πŸŒ™ Dark/Light Mode - Theme switching with system preference detection
  • ⚑ Static Generation - Blazing fast page loads
  • πŸ“ MDX Support - Write content with React components
  • 🎯 TypeScript - Full type safety
  • πŸ” SEO Optimized - Meta tags, Open Graph, Schema.org
  • πŸ“Š GitHub Integration - Auto-fetch and display repositories

πŸ› οΈ Tech Stack

  • Framework: Next.js 16.2
  • UI Library: Once UI System 1.4
  • Language: TypeScript 5.8
  • Styling: SCSS Modules
  • Content: MDX
  • Icons: React Icons
  • Deployment: Vercel

πŸ“¦ Installation

# Clone the repository
git clone https://github.com/umutxyp/Personal-Website.git

# Navigate to project directory
cd Personal-Website

# Install dependencies
npm install

# Run development server
npm run dev

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

πŸš€ Available Scripts

npm run dev      # Start development server
npm run build    # Build for production
npm start        # Start production server
npm run lint     # Run ESLint
npm run export   # Export static site

πŸ“ Project Structure

β”œβ”€β”€ public/
β”‚   └── images/          # Static images
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/             # Next.js App Router pages
β”‚   β”‚   β”œβ”€β”€ about/       # About page
β”‚   β”‚   β”œβ”€β”€ work/        # Projects showcase
β”‚   β”‚   β”œβ”€β”€ gallery/     # Image gallery
β”‚   β”‚   β”œβ”€β”€ github/      # GitHub repos
β”‚   β”‚   └── api/         # API routes
β”‚   β”œβ”€β”€ components/      # React components
β”‚   β”œβ”€β”€ resources/       # Configuration & content
β”‚   β”‚   β”œβ”€β”€ content.tsx  # Page content
β”‚   β”‚   β”œβ”€β”€ site-data.tsx # Site data & metadata
β”‚   β”‚   └── once-ui.config.ts # UI configuration
β”‚   β”œβ”€β”€ types/           # TypeScript types
β”‚   └── utils/           # Utility functions
└── package.json

βš™οΈ Configuration

Site Data

Edit src/resources/site-data.tsx to update:

  • Personal information
  • Social links
  • Projects
  • Work experience
  • GitHub username

UI Theme

Customize theme in src/resources/once-ui.config.ts:

  • Colors (brand, accent, neutral)
  • Typography
  • Border styles
  • Effects

Routes

Enable/disable pages in src/resources/once-ui.config.ts:

const routes = {
  "/": true,
  "/about": true,
  "/work": true,
  "/blog": false,
  "/gallery": true,
  "/github": true,
};

πŸ“„ Adding Projects

  1. Create a new MDX file in src/app/work/projects/:
---
title: "Project Name"
publishedAt: "2024-01-01"
summary: "Short description"
images: ["/images/projects/project.png"]
team: []
link: "https://project.com"
---

Project content here...
  1. The project will automatically appear on the work page.

🎨 Customization

Colors

Update theme colors in once-ui.config.ts:

  • brand: Primary brand color
  • accent: Accent/secondary color
  • neutral: Gray scale tones

Fonts

Configured in once-ui.config.ts using Next.js Font optimization:

  • Heading: Geist
  • Body: Geist
  • Code: Geist Mono

🌐 Deployment

Vercel (Recommended)

  1. Push to GitHub
  2. Import project in Vercel
  3. Deploy automatically

Manual Build

npm run build
npm start

πŸ“Š GitHub Integration

The /github page automatically fetches your public repositories. Update your GitHub username in src/resources/site-data.tsx:

github: {
  username: "umutxyp",
  highlight: ["Codeshare", "Beatra", "MusicBot"],
}

πŸ”§ Environment Variables

Optional: Create .env.local for password protection:

PAGE_ACCESS_PASSWORD=your_password

Enable protected routes in once-ui.config.ts:

const protectedRoutes = {
  "/about": true
};

πŸ“ License

This project is open source and available under the MIT License.

🀝 Connect


Built with ❀️ by Umut Bayraktar | Powered by Next.js & Once UI

About

It is a quality portfolio site with a beautiful and simple design that you can personalize for yourself.

Topics

Resources

License

Stars

Watchers

Forks

Contributors