Skip to content

Modern Portfolio & CV Management System with Admin Panel | ASP.NET Core 8 + React 19 + TypeScript | Visitor Analytics, PDF CV Generation, Multi-language Support

Notifications You must be signed in to change notification settings

veyselmut/PortfolioCV

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌟 PortfolioCV - Modern Portfolio & CV Management System

πŸ‡ΉπŸ‡· TΓΌrkΓ§e | πŸ‡¬πŸ‡§ English


πŸ‡ΉπŸ‡· TΓΌrkΓ§e

πŸ“‹ Proje HakkΔ±nda

PortfolioCV, modern ve profesyonel bir portfây & CV yânetim sistemidir. Kişisel bilgilerinizi, eğitim geçmişinizi, iş deneyimlerinizi, projelerinizi ve becerilerinizi tek bir platformda yânetebilir ve ziyaretçilerinizle paylaşabilirsiniz.

✨ Γ–zellikler

🎨 Frontend (Public Site - PortfolioCV/)

  • 🌐 Γ‡ok dilli destek (TΓΌrkΓ§e/Δ°ngilizce)
  • πŸŒ“ Dark/Light mode
  • πŸ“± Tam responsive tasarΔ±m
  • ⚑ YΓΌksek performans
  • 🎯 SEO optimize
  • πŸ“Š ZiyaretΓ§i takibi
  • πŸ“§ Δ°letişim formu
  • πŸ“„ PDF CV indirme

πŸ”§ Backend (Admin Panel - admin-panel/)

  • πŸ” JWT tabanlΔ± gΓΌvenli authentication
  • πŸ“Š Gelişmiş dashboard & analytics
  • 🌍 IP bazlΔ± ΓΌlke tespiti (bayrak gΓΆsterimi)
  • πŸ“ˆ ZiyaretΓ§i istatistikleri
  • 🎨 Modern UI/UX (Ant Design)
  • πŸŒ“ Dark/Light mode
  • πŸ“± Responsive design
  • πŸ”„ Real-time veri yΓΆnetimi

πŸ“¦ YΓΆnetilebilir Δ°Γ§erikler

  • πŸ‘€ Kişisel Bilgiler
  • πŸŽ“ Eğitim GeΓ§mişi
  • πŸ’Ό İş Deneyimleri
  • πŸ› οΈ Yetenekler
  • πŸš€ Projeler
  • πŸ† Sertifikalar
  • 🌐 Diller
  • πŸ‘₯ Referanslar
  • πŸ”— Sosyal Medya
  • βš™οΈ Hizmetler
  • πŸ’¬ Mesajlar

πŸ› οΈ Teknoloji Stack'i

Frontend (Public Site - PortfolioCV/)

  • Framework: ASP.NET Core 8.0 MVC
  • UI: Razor Views, Bootstrap
  • Database: SQL Server (Entity Framework Core)
  • Authentication: Cookie-based
  • i18n: Resource files (.resx)

Backend (Admin Panel - admin-panel/)

  • Framework: React 19 + TypeScript
  • UI Library: Ant Design 5.23
  • State Management: Refine Framework
  • Build Tool: Vite 6
  • HTTP Client: Axios
  • i18n: i18next
  • Icons: Ant Design Icons, Flag Icons
  • Charts: Ant Design Plots

Backend API

  • .NET: ASP.NET Core 8.0 Web API
  • ORM: Entity Framework Core
  • Database: SQL Server
  • Authentication: JWT Bearer
  • Email: MailKit
  • PDF: QuestPDF
  • Image Processing: ImageSharp
  • Caching: IMemoryCache
  • Compression: Brotli/Gzip

πŸ“Έ Ekran GΓΆrΓΌntΓΌleri

(Screenshots buraya eklenebilir)

πŸš€ Kurulum

Gereksinimler

  • .NET 8.0 SDK
  • Node.js 18+ (Admin panel iΓ§in)
  • SQL Server 2019+

1. Repository'yi KlonlayΔ±n

git clone https://github.com/yourusername/PortfolioCV.git
cd PortfolioCV

2. Database AyarlarΔ±

appsettings.json dosyasΔ±nda connection string'i gΓΌncelleyin:

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=YOUR_SERVER;Database=vmDb;..."
  }
}

3. Frontend (Public Site - PortfolioCV/) Γ‡alıştΔ±rma

dotnet restore
dotnet run

TarayΔ±cΔ±da: http://localhost:5000

4. Admin Panel Kurulumu

cd admin-panel
npm install
npm run dev

TarayΔ±cΔ±da: http://localhost:5173

πŸ”§ YapΔ±landΔ±rma

Email AyarlarΔ±

appsettings.json:

{
  "EmailSettings": {
    "Host": "smtp.yourdomain.com",
    "Port": 587,
    "Username": "your-email@domain.com",
    "Password": "your-password"
  }
}

CORS AyarlarΔ±

Program.cs iΓ§inde production domain'inizi ekleyin:

policy.WithOrigins(
    "http://localhost:5173",
    "https://dashboard.yourdomain.com"
)

πŸ“¦ Production Build

Frontend

dotnet publish -c Release -o ./publish

Admin Panel

cd admin-panel
npm run build
# dist/ klasârü oluşur

🌐 Deployment

Γ–nerilen YapΔ±

  • Public Site: yourdomain.com (Frontend + API)
  • Admin Panel: dashboard.yourdomain.com (React SPA)

IIS Deployment

  1. publish/ klasΓΆrΓΌnΓΌ IIS'e kopyalayΔ±n
  2. Application Pool: No Managed Code
  3. ASPNETCORE_ENVIRONMENT=Production set edin

πŸ” GΓΌvenlik

  • βœ… JWT Authentication
  • βœ… CORS Protection
  • βœ… SQL Injection Prevention (Parameterized Queries)
  • βœ… XSS Protection
  • βœ… HTTPS Enforcement
  • βœ… Rate Limiting
  • βœ… Input Validation

πŸ“ Lisans

MIT License - Detaylar iΓ§in LICENSE dosyasΔ±na bakΔ±n.

πŸ‘¨β€πŸ’» Geliştirici

Veysel Mut


πŸ‡¬πŸ‡§ English

πŸ“‹ About The Project

PortfolioCV is a modern and professional portfolio & CV management system. You can manage your personal information, education history, work experiences, projects, and skills on a single platform and share them with your visitors.

✨ Features

🎨 Frontend (Public Site - PortfolioCV/)

  • 🌐 Multi-language support (Turkish/English)
  • πŸŒ“ Dark/Light mode
  • πŸ“± Fully responsive design
  • ⚑ High performance
  • 🎯 SEO optimized
  • πŸ“Š Visitor tracking
  • πŸ“§ Contact form
  • πŸ“„ PDF CV download

πŸ”§ Admin Panel

  • πŸ” JWT-based secure authentication
  • πŸ“Š Advanced dashboard & analytics
  • 🌍 IP-based country detection (flag display)
  • πŸ“ˆ Visitor statistics
  • 🎨 Modern UI/UX (Ant Design)
  • πŸŒ“ Dark/Light mode
  • πŸ“± Responsive design
  • πŸ”„ Real-time data management

πŸ“¦ Manageable Content

  • πŸ‘€ Personal Information
  • πŸŽ“ Education History
  • πŸ’Ό Work Experiences
  • πŸ› οΈ Skills
  • πŸš€ Projects
  • πŸ† Certificates
  • 🌐 Languages
  • πŸ‘₯ References
  • πŸ”— Social Media
  • βš™οΈ Services
  • πŸ’¬ Messages

πŸ› οΈ Technology Stack

Frontend (Public Site - PortfolioCV/)

  • Framework: ASP.NET Core 8.0 MVC
  • UI: Razor Views, Bootstrap
  • Database: SQL Server (Entity Framework Core)
  • Authentication: Cookie-based
  • i18n: Resource files (.resx)

Backend (Admin Panel - admin-panel/)

  • Framework: React 19 + TypeScript
  • UI Library: Ant Design 5.23
  • State Management: Refine Framework
  • Build Tool: Vite 6
  • HTTP Client: Axios
  • i18n: i18next
  • Icons: Ant Design Icons, Flag Icons
  • Charts: Ant Design Plots

Backend API

  • .NET: ASP.NET Core 8.0 Web API
  • ORM: Entity Framework Core
  • Database: SQL Server
  • Authentication: JWT Bearer
  • Email: MailKit
  • PDF: QuestPDF
  • Image Processing: ImageSharp
  • Caching: IMemoryCache
  • Compression: Brotli/Gzip

πŸ“Έ Screenshots

(Screenshots can be added here)

πŸš€ Installation

Requirements

  • .NET 8.0 SDK
  • Node.js 18+ (for Admin panel)
  • SQL Server 2019+

1. Clone Repository

git clone https://github.com/yourusername/PortfolioCV.git
cd PortfolioCV

2. Database Configuration

Update connection string in appsettings.json:

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=YOUR_SERVER;Database=vmDb;..."
  }
}

3. Run Frontend (Public Site - PortfolioCV/)

dotnet restore
dotnet run

Browser: http://localhost:5000

4. Admin Panel Setup

cd admin-panel
npm install
npm run dev

Browser: http://localhost:5173

πŸ”§ Configuration

Email Settings

In appsettings.json:

{
  "EmailSettings": {
    "Host": "smtp.yourdomain.com",
    "Port": 587,
    "Username": "your-email@domain.com",
    "Password": "your-password"
  }
}

CORS Settings

Add your production domain in Program.cs:

policy.WithOrigins(
    "http://localhost:5173",
    "https://dashboard.yourdomain.com"
)

πŸ“¦ Production Build

Frontend

dotnet publish -c Release -o ./publish

Admin Panel

cd admin-panel
npm run build
# dist/ folder will be created

🌐 Deployment

Recommended Structure

  • Public Site: yourdomain.com (Frontend + API)
  • Admin Panel: dashboard.yourdomain.com (React SPA)

IIS Deployment

  1. Copy publish/ folder to IIS
  2. Application Pool: No Managed Code
  3. Set ASPNETCORE_ENVIRONMENT=Production

πŸ” Security

  • βœ… JWT Authentication
  • βœ… CORS Protection
  • βœ… SQL Injection Prevention (Parameterized Queries)
  • βœ… XSS Protection
  • βœ… HTTPS Enforcement
  • βœ… Rate Limiting
  • βœ… Input Validation

πŸ“ License

MIT License - See LICENSE file for details.

πŸ‘¨β€πŸ’» Developer

Veysel Mut


πŸ™ Acknowledgments


⭐ If you like this project, please give it a star!