An open API service indexing awesome lists of open source software.

https://github.com/seferogluemre/dev-portfolio


https://github.com/seferogluemre/dev-portfolio

Last synced: 4 months ago
JSON representation

Awesome Lists containing this project

README

          

# πŸš€ Emre SEFEROĞLU - Developer Portfolio


Logo

**Modern, responsive portfolio website built with Next.js 15 and TypeScript**

[![Next.js](https://img.shields.io/badge/Next.js-15-black?style=flat-square&logo=next.js)](https://nextjs.org)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.0-blue?style=flat-square&logo=typescript)](https://typescriptlang.org)
[![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-4.0-38B2AC?style=flat-square&logo=tailwind-css)](https://tailwindcss.com)
[![React](https://img.shields.io/badge/React-19-61DAFB?style=flat-square&logo=react)](https://reactjs.org)

[🌍 Live Demo](https://seferogluemre.com) β€’ [πŸ“§ Contact](mailto:seferoglu.yazilim@outlook.com)

---

## πŸ“‹ Table of Contents

- [✨ Features](#-features)
- [πŸ› οΈ Tech Stack](#️-tech-stack)
- [πŸ“ Project Structure](#-project-structure)
- [πŸš€ Quick Start](#-quick-start)
- [πŸ“– Detailed Setup](#-detailed-setup)
- [🎯 Usage](#-usage)
- [🌐 Deployment](#-deployment)
- [🀝 Contributing](#-contributing)
- [πŸ“„ License](#-license)
- [πŸ“ž Contact](#-contact)

---

## ✨ Features

### 🎨 **UI/UX**
- βœ… **Modern Design** - Clean, professional interface
- βœ… **Fully Responsive** - Works on all devices and screen sizes
- βœ… **Dark/Light Theme** - Toggle between themes
- βœ… **Smooth Animations** - Framer Motion powered animations
- βœ… **Mobile-First** - Optimized for mobile experience

### 🌍 **Internationalization**
- βœ… **Multi-language Support** - Turkish and English
- βœ… **Dynamic Language Switch** - Real-time language switching
- βœ… **Localized Content** - All content available in both languages

### πŸ“± **Pages & Features**
- βœ… **Home Page** - Hero section with introduction
- βœ… **Blog System** - Article management with search
- βœ… **About Page** - Personal information and skills
- βœ… **Projects Portfolio** - Showcase of development projects
- βœ… **Contact Integration** - Social media and email links

### πŸ”§ **Technical**
- βœ… **TypeScript** - Full type safety
- βœ… **Server Components** - Next.js 15 App Router
- βœ… **SEO Optimized** - Meta tags and structured data
- βœ… **Performance** - Optimized loading and rendering
- βœ… **Accessible** - WCAG guidelines compliance

---

## πŸ› οΈ Tech Stack

### **Frontend Framework**
- **[Next.js 15](https://nextjs.org)** - React framework with App Router
- **[React 19](https://reactjs.org)** - UI library
- **[TypeScript](https://typescriptlang.org)** - Type-safe JavaScript

### **Styling & UI**
- **[Tailwind CSS 4](https://tailwindcss.com)** - Utility-first CSS framework
- **[Radix UI](https://radix-ui.com)** - Headless UI components
- **[Lucide React](https://lucide.dev)** - Beautiful icons
- **[Framer Motion](https://framer.com/motion)** - Animation library

### **Development Tools**
- **[ESLint](https://eslint.org)** - Code linting
- **[PostCSS](https://postcss.org)** - CSS processing
- **[Next Themes](https://github.com/pacocoursey/next-themes)** - Theme switching

---

## πŸ“ Project Structure

```
dev-portfolio/
β”œβ”€β”€ πŸ“ public/ # Static assets
β”‚ β”œβ”€β”€ favicon.ico
β”‚ β”œβ”€β”€ logo-bg.svg
β”‚ └── ...
β”‚
β”œβ”€β”€ πŸ“ src/ # Source code
β”‚ β”œβ”€β”€ πŸ“ app/ # Next.js App Router
β”‚ β”‚ β”œβ”€β”€ layout.tsx # Root layout
β”‚ β”‚ β”œβ”€β”€ page.tsx # Home page
β”‚ β”‚ β”œβ”€β”€ globals.css # Global styles
β”‚ β”‚ β”œβ”€β”€ πŸ“ blog/ # Blog routes
β”‚ β”‚ β”œβ”€β”€ πŸ“ about/ # About page
β”‚ β”‚ └── πŸ“ projects/ # Projects page
β”‚ β”‚
β”‚ β”œβ”€β”€ πŸ“ features/ # Feature-based modules
β”‚ β”‚ β”œβ”€β”€ πŸ“ home/ # Home page feature
β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“ components/ # Feature components
β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“ data/ # Mock data (JSON)
β”‚ β”‚ β”‚ β”œβ”€β”€ πŸ“ types/ # TypeScript types
β”‚ β”‚ β”‚ └── index.tsx # Main component
β”‚ β”‚ β”œβ”€β”€ πŸ“ blog/ # Blog feature
β”‚ β”‚ β”œβ”€β”€ πŸ“ about/ # About feature
β”‚ β”‚ └── πŸ“ projects/ # Projects feature
β”‚ β”‚
β”‚ β”œβ”€β”€ πŸ“ components/ # Shared components
β”‚ β”‚ β”œβ”€β”€ πŸ“ layout/ # Layout components
β”‚ β”‚ β”‚ β”œβ”€β”€ Header.tsx # Navigation header
β”‚ β”‚ β”‚ └── Footer.tsx # Site footer
β”‚ β”‚ └── πŸ“ ui/ # Reusable UI components
β”‚ β”‚ β”œβ”€β”€ button.tsx
β”‚ β”‚ β”œβ”€β”€ card.tsx
β”‚ β”‚ └── badge.tsx
β”‚ β”‚
β”‚ β”œβ”€β”€ πŸ“ contexts/ # React contexts
β”‚ β”‚ └── LanguageContext.tsx # i18n context
β”‚ β”‚
β”‚ β”œβ”€β”€ πŸ“ hooks/ # Custom React hooks
β”‚ β”‚ └── index.ts # Hook exports
β”‚ β”‚
β”‚ β”œβ”€β”€ πŸ“ constants/ # Application constants
β”‚ β”‚ └── index.ts # Site config
β”‚ β”‚
β”‚ └── πŸ“ lib/ # Utility functions
β”‚ └── utils.ts # Helper functions
β”‚
β”œβ”€β”€ πŸ“„ package.json # Dependencies
β”œβ”€β”€ πŸ“„ tsconfig.json # TypeScript config
β”œβ”€β”€ πŸ“„ tailwind.config.js # Tailwind config
β”œβ”€β”€ πŸ“„ next.config.ts # Next.js config
└── πŸ“„ README.md # This file
```

### πŸ—οΈ **Architecture Principles**

This project follows **enterprise-level architectural patterns**:

- **🎯 Feature-Based Organization** - Each feature is self-contained
- **🧩 Atomic Design** - Reusable component hierarchy
- **πŸ“± Mobile-First** - Responsive design approach
- **πŸ”’ Type Safety** - Full TypeScript coverage
- **🎨 Design System** - Consistent UI components
- **♻️ Clean Code** - SOLID principles and clean architecture

---

## πŸš€ Quick Start

### **Prerequisites**
- Node.js 18+ installed
- npm, yarn, or bun package manager

### **1️⃣ Clone & Install**
```bash
# Clone the repository
git clone https://github.com/beratgdlk/dev-portfolio.git

# Navigate to directory
cd dev-portfolio

# Install dependencies
npm install
# or
yarn install
# or
bun install
```

### **2️⃣ Run Development Server**
```bash
npm run dev
# or
yarn dev
# or
bun dev
```

### **3️⃣ Open in Browser**
Navigate to [http://localhost:3000](http://localhost:3000) πŸŽ‰

---

## πŸ“– Detailed Setup

### **Development Environment**

1. **Install Dependencies**
```bash
npm install
```

2. **Start Development Server**
```bash
npm run dev
```

3. **Build for Production**
```bash
npm run build
```

4. **Start Production Server**
```bash
npm start
```

5. **Lint Code**
```bash
npm run lint
```

### **Environment Variables**

No environment variables are required for basic setup. All configuration is handled through:
- `src/constants/index.ts` - Site configuration
- Feature-specific JSON data files

### **Customization**

1. **Personal Information**
- Update `src/constants/index.ts`
- Modify feature-specific JSON files in `src/features/*/data/`

2. **Styling**
- Colors: `tailwind.config.js`
- Components: `src/components/ui/`

3. **Content**
- Blog posts: `src/features/blog/data/blogData.json`
- About info: `src/features/about/data/aboutData.json`

---

## 🎯 Usage

### **Adding Blog Posts**
```json
// src/features/blog/data/blogData.json
{
"posts": [
{
"slug": "new-post-slug",
"title": "Post Title",
"description": "Brief description",
"content": "Full content...",
"date": "Date",
"readTime": "X dk okuma",
"tags": ["tag1", "tag2"],
"image": null
}
]
}
```

### **Adding Projects**
```json
// src/features/projects/data/projectsData.json
{
"projects": [
{
"id": "project-id",
"title": "Project Title",
"description": "Description",
"technologies": ["React", "Node.js"],
"liveUrl": "https://example.com",
"githubUrl": "https://github.com/...",
"status": "completed"
}
]
}
```

---

## 🌐 Deployment

### **Vercel (Recommended)**
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/beratgdlk/dev-portfolio)

```bash
npm install -g vercel
vercel --prod
```

### **Netlify**
```bash
npm run build
# Upload 'out' directory to Netlify
```

### **Docker**
```dockerfile
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]
```

---

## 🀝 Contributing

Contributions are welcome! Please follow these steps:

1. **Fork the repository**
2. **Create feature branch**
```bash
git checkout -b feature/amazing-feature
```
3. **Commit changes**
```bash
git commit -m 'Add amazing feature'
```
4. **Push to branch**
```bash
git push origin feature/amazing-feature
```
5. **Open Pull Request**

### **Development Guidelines**
- Follow TypeScript best practices
- Use conventional commit messages
- Add tests for new features
- Update documentation

---

## πŸ“„ License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

---

## πŸ“ž Contact

**Emre SEFEROĞLU**
- 🌐 Website: [seferoglu.yazilim@outlook.com](https://seferogluemre.com)
- πŸ“§ Email: [seferoglu.yazilim@outlook.com](mailto:seferoglu.yazilim@outlook.com)
- πŸ’Ό LinkedIn: [linkedin.com/in/seferogluemre](https://www.linkedin.com/in/seferogluemre/)
- πŸ™ GitHub: [github.com/seferogluemre](https://github.com/seferogluemre)
- πŸ“ Medium: [medium.com/@seferogluemre](https://medium.com/@seferogluemre)

---


Made with ❀️ by Emre SEFEROĞLU


⭐ Star this repo if you found it helpful!