Modern, Ölçeklenebilir ve Yüksek Performanslı Full-Stack Web Platformu
- Proje Hakkında
- Mimari
- Özellikler
- Teknoloji Yığını
- Ekran Görüntüleri
- Kurulum ve Çalıştırma
- API Dokümantasyonu
- Proje Yapısı
- Katkıda Bulunma
- Lisans
Pınar Tech Studio, modern web geliştirme standartlarına uygun olarak tasarlanmış, Clean Architecture prensiplerini benimseyen kapsamlı bir Full-Stack portfolyo ve içerik yönetim sistemidir.
Bu platform, sadece kişisel bir vitrin olmanın ötesinde; dinamik blog yönetimi, proje sergileme alanları ve güvenli bir yönetim paneli sunar. SEO (Arama Motoru Optimizasyonu) ve Web Performansı (Core Web Vitals) odaklı geliştirilmiştir.
Proje, Serverless mimarisi üzerine kurulmuştur. Frontend ve Backend API, Vercel üzerinde barındırılırken, veritabanı Render üzerinde, medya dosyaları ise Cloudinary CDN üzerinde tutulmaktadır.
graph TD
Client[Kullanıcı / Tarayıcı] -->|HTTPS| Vercel[Vercel Edge Network]
Vercel -->|Statik Dosyalar| React[React Frontend]
Vercel -->|API İstekleri| API[Node.js Serverless Functions]
API -->|Veri Okuma/Yazma| DB[(PostgreSQL @ Render)]
API -->|Medya Yönetimi| Cloudinary[Cloudinary CDN]
React -->|Analitik| Analytics[Google Analytics & Vercel Analytics]
- Responsive Tasarım: Mobil öncelikli (Mobile-First) yaklaşım ile Tailwind CSS kullanılarak geliştirildi.
- Modern Animasyonlar: Kullanıcı deneyimini artıran yumuşak geçişler ve mikro etkileşimler.
- Karanlık/Aydınlık Mod: (Gelecek sürümlerde eklenecek altyapı hazır).
- SEO Uyumlu: Dinamik meta etiketleri,
sitemap.xml,robots.txtve Open Graph protokolleri.
- Güvenli Kimlik Doğrulama: JWT (JSON Web Token) ve BCrypt ile güvenli giriş sistemi.
- Dinamik İçerik Yönetimi: Blog yazıları, projeler ve hizmetler için tam CRUD (Ekle/Sil/Güncelle) desteği.
- Medya Optimizasyonu: Yüklenen görseller otomatik olarak Cloudinary üzerinde optimize edilir ve webp formatında sunulur.
- RESTful API: Standartlara uygun, ölçeklenebilir API yapısı.
| Alan | Teknoloji | Açıklama |
|---|---|---|
| Frontend | React 19 | UI Kütüphanesi |
| TypeScript | Tip Güvenliği | |
| Vite | Build Tool & Dev Server | |
| Tailwind CSS | Utility-First CSS Framework | |
| Lucide React | İkon Seti | |
| Backend | Node.js | Runtime Environment |
| Express.js | Web Framework | |
| PostgreSQL | İlişkisel Veritabanı | |
| Prisma / pg | Veritabanı İstemcisi | |
| DevOps | Vercel | Hosting & CI/CD |
| Render | Database Hosting | |
| Cloudinary | Cloud Media Storage | |
| GitHub Actions | Otomasyon |
| Ana Sayfa | Admin Paneli |
|---|---|
![]() |
![]() |
Projeyi yerel ortamınızda geliştirmek için aşağıdaki adımları izleyin.
- Node.js (v18 veya üzeri)
- Git
- PostgreSQL (Yerel veya Bulut)
git clone https://github.com/CodeByPinar/pinardevstudio.git
cd pinardevstudionpm installAna dizinde .env dosyası oluşturun ve aşağıdaki değerleri kendinize göre düzenleyin:
PORT=5000
DATABASE_URL=postgresql://kullanici:sifre@localhost:5432/veritabani_adi
CLOUDINARY_CLOUD_NAME=xxx
CLOUDINARY_API_KEY=xxx
CLOUDINARY_API_SECRET=xxx
JWT_SECRET=cok_gizli_anahtarGeliştirme Modu (Frontend + Backend):
npm run dev
# Backend için ayrı terminalde:
npm startProduction Build:
npm run buildTemel API uç noktaları aşağıdadır:
| Metot | Endpoint | Açıklama |
|---|---|---|
GET |
/api/projects |
Tüm projeleri listeler |
GET |
/api/blogs |
Blog yazılarını listeler |
POST |
/api/auth/login |
Admin girişi yapar |
POST |
/api/projects |
Yeni proje ekler (Auth Gerekli) |
DELETE |
/api/blogs/:id |
Blog yazısını siler (Auth Gerekli) |
pinardevstudio/
├── 📁 api/ # Vercel Serverless Functions Entry
├── 📁 components/ # Yeniden kullanılabilir React bileşenleri
│ ├── 📁 admin/ # Admin paneli bileşenleri
│ └── 📁 ui/ # Temel UI elementleri (Button, Input vb.)
├── 📁 public/ # Statik dosyalar (Favicon, Robots.txt)
├── 📁 server/ # Backend kaynak kodları
│ ├── 📁 config/ # Veritabanı ve Cloudinary ayarları
│ ├── 📁 controllers/ # İstekleri işleyen fonksiyonlar
│ ├── 📁 routes/ # API rota tanımları
│ └── index.js # Server giriş noktası
├── 📁 src/ # Frontend ana uygulama kodları
├── .env # Çevresel değişkenler (Git'e eklenmez)
├── vercel.json # Vercel dağıtım ayarları
└── package.json # Proje bağımlılıkları ve scriptler
Katkılarınızı bekliyoruz! Lütfen şu adımları izleyin:
- Bu depoyu (repository) forklayın.
- Yeni bir özellik dalı (feature branch) oluşturun (
git checkout -b feature/YeniOzellik). - Değişikliklerinizi commitleyin (
git commit -m 'Yeni özellik eklendi'). - Dalınızı pushlayın (
git push origin feature/YeniOzellik). - Bir Pull Request oluşturun.
Bu proje MIT Lisansı ile lisanslanmıştır.


