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.
- 🌐 Ç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
- 🔐 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
- 👤 Kişisel Bilgiler
- 🎓 Eğitim Geçmişi
- 💼 İş Deneyimleri
- 🛠️ Yetenekler
- 🚀 Projeler
- 🏆 Sertifikalar
- 🌐 Diller
- 👥 Referanslar
- 🔗 Sosyal Medya
- ⚙️ Hizmetler
- 💬 Mesajlar
- Framework: ASP.NET Core 8.0 MVC
- UI: Razor Views, Bootstrap
- Database: SQL Server (Entity Framework Core)
- Authentication: Cookie-based
- i18n: Resource files (.resx)
- 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
- .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 buraya eklenebilir)
- .NET 8.0 SDK
- Node.js 18+ (Admin panel için)
- SQL Server 2019+
git clone https://github.com/yourusername/PortfolioCV.git
cd PortfolioCVappsettings.json dosyasında connection string'i güncelleyin:
{
"ConnectionStrings": {
"DefaultConnection": "Server=YOUR_SERVER;Database=vmDb;..."
}
}dotnet restore
dotnet runTarayıcıda: http://localhost:5000
cd admin-panel
npm install
npm run devTarayıcıda: http://localhost:5173
appsettings.json:
{
"EmailSettings": {
"Host": "smtp.yourdomain.com",
"Port": 587,
"Username": "your-email@domain.com",
"Password": "your-password"
}
}Program.cs içinde production domain'inizi ekleyin:
policy.WithOrigins(
"http://localhost:5173",
"https://dashboard.yourdomain.com"
)dotnet publish -c Release -o ./publishcd admin-panel
npm run build
# dist/ klasörü oluşur- Public Site:
yourdomain.com(Frontend + API) - Admin Panel:
dashboard.yourdomain.com(React SPA)
publish/klasörünü IIS'e kopyalayın- Application Pool: No Managed Code
ASPNETCORE_ENVIRONMENT=Productionset edin
- ✅ JWT Authentication
- ✅ CORS Protection
- ✅ SQL Injection Prevention (Parameterized Queries)
- ✅ XSS Protection
- ✅ HTTPS Enforcement
- ✅ Rate Limiting
- ✅ Input Validation
MIT License - Detaylar için LICENSE dosyasına bakın.
Veysel Mut
- Website: veyselmut.com.tr
- Admin Panel: dashboard.veyselmut.com.tr
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.
- 🌐 Multi-language support (Turkish/English)
- 🌓 Dark/Light mode
- 📱 Fully responsive design
- ⚡ High performance
- 🎯 SEO optimized
- 📊 Visitor tracking
- 📧 Contact form
- 📄 PDF CV download
- 🔐 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
- 👤 Personal Information
- 🎓 Education History
- 💼 Work Experiences
- 🛠️ Skills
- 🚀 Projects
- 🏆 Certificates
- 🌐 Languages
- 👥 References
- 🔗 Social Media
- ⚙️ Services
- 💬 Messages
- Framework: ASP.NET Core 8.0 MVC
- UI: Razor Views, Bootstrap
- Database: SQL Server (Entity Framework Core)
- Authentication: Cookie-based
- i18n: Resource files (.resx)
- 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
- .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 can be added here)
- .NET 8.0 SDK
- Node.js 18+ (for Admin panel)
- SQL Server 2019+
git clone https://github.com/yourusername/PortfolioCV.git
cd PortfolioCVUpdate connection string in appsettings.json:
{
"ConnectionStrings": {
"DefaultConnection": "Server=YOUR_SERVER;Database=vmDb;..."
}
}dotnet restore
dotnet runBrowser: http://localhost:5000
cd admin-panel
npm install
npm run devBrowser: http://localhost:5173
In appsettings.json:
{
"EmailSettings": {
"Host": "smtp.yourdomain.com",
"Port": 587,
"Username": "your-email@domain.com",
"Password": "your-password"
}
}Add your production domain in Program.cs:
policy.WithOrigins(
"http://localhost:5173",
"https://dashboard.yourdomain.com"
)dotnet publish -c Release -o ./publishcd admin-panel
npm run build
# dist/ folder will be created- Public Site:
yourdomain.com(Frontend + API) - Admin Panel:
dashboard.yourdomain.com(React SPA)
- Copy
publish/folder to IIS - Application Pool: No Managed Code
- Set
ASPNETCORE_ENVIRONMENT=Production
- ✅ JWT Authentication
- ✅ CORS Protection
- ✅ SQL Injection Prevention (Parameterized Queries)
- ✅ XSS Protection
- ✅ HTTPS Enforcement
- ✅ Rate Limiting
- ✅ Input Validation
MIT License - See LICENSE file for details.
Veysel Mut
- Website: veyselmut.com.tr
- Admin Panel: dashboard.veyselmut.com.tr
⭐ If you like this project, please give it a star!