Web'den içerik toplamanızı sağlayan modern bir web clipper uygulaması. Metinleri, görselleri ve ekran görüntülerini kategorize ederek saklayın.
- 📋 Metin Kaydetme - Seçili metinleri kaydedin
- �� Ekran Görüntüsü - Scroll destekli alan seçip kaydedin
- 🖼️ Resim Kaydetme - Sağ tık ile resimleri kaydedin
- 📁 Kategori Sistemi - İçerikleri kategorilere ayırın
- 🌙 Koyu Mod - Göz yormayan karanlık tema
- 🔐 Kullanıcı Sistemi - JWT tabanlı kimlik doğrulama
- 🔍 Arama & Filtreleme - İçeriklerinizi kolayca bulun
- Node.js & Express 5
- MongoDB & Mongoose
- JWT Authentication
- Helmet (güvenlik)
- React 18 + Vite
- Tailwind CSS
- Framer Motion
- Lucide Icons
- Chrome Manifest V3
- Service Worker
```bash git clone https://github.com/cekYc/web-clipper.git cd web-clipper ```
```bash
docker run -d -p 27017:27017 --name mongodb mongo
mongod ```
```bash cd server npm install cp .env.example .env # Düzenleyin npm start ```
```bash cd client npm install npm run dev ```
- Chrome'da `chrome://extensions` adresine gidin
- "Geliştirici modu"nu açın
- "Paketlenmemiş öğe yükle" tıklayın
- `extension` klasörünü seçin
- MongoDB Atlas hesabı oluşturun
- Yeni bir cluster oluşturun (M0 Free Tier)
- Database Access'ten kullanıcı ekleyin
- Network Access'ten `0.0.0.0/0` IP'sini ekleyin
- Connection string'i kopyalayın: ``` mongodb+srv://USERNAME:PASSWORD@cluster.xxxxx.mongodb.net/webclipper?retryWrites=true&w=majority ```
- Render.com hesabı oluşturun
- "New" → "Web Service" seçin
- GitHub reponuzu bağlayın
- Ayarlar:
- Name: `web-clipper-api`
- Root Directory: `server`
- Runtime: `Node`
- Build Command: `npm install`
- Start Command: `npm start`
- Environment Variables ekleyin: ``` MONGODB_URI=mongodb+srv://... SECRET_KEY=your-super-secret-key-123 FRONTEND_URL=https://your-app.vercel.app NODE_ENV=production ```
- Deploy edin ve URL'yi kopyalayın (örn: `https://web-clipper-api.onrender.com\`)
- Vercel.com hesabı oluşturun
- "New Project" → GitHub reponuzu import edin
- Ayarlar:
- Framework Preset: Vite
- Root Directory: `client`
- Environment Variables ekleyin: ``` VITE_API_URL=https://web-clipper-api.onrender.com ```
- Deploy edin
-
`extension/config.js` dosyasını düzenleyin: ```javascript const CONFIG = { API_URL: 'https://web-clipper-api.onrender.com' }; ```
-
Extension'ı Chrome Web Store'a yükleyin (isteğe bağlı):
- Chrome Developer Dashboard
- $5 tek seferlik ücret
``` web-clipper/ ├── client/ # React Frontend │ ├── src/ │ │ ├── components/ # React bileşenleri │ │ ├── context/ # Auth & Theme context │ │ └── lib/ # API utilities │ └── package.json │ ├── server/ # Express Backend │ ├── server.js # Ana sunucu dosyası │ ├── .env.example # Environment örneği │ └── package.json │ ├── extension/ # Chrome Extension │ ├── manifest.json │ ├── popup.html/js │ ├── background.js │ └── config.js # API URL config │ └── README.md ```
| Method | Endpoint | Açıklama |
|---|---|---|
| POST | `/api/register` | Yeni kullanıcı kayıt |
| POST | `/api/login` | Giriş yap |
| GET | `/api/snippets` | Kayıtları listele |
| POST | `/api/save` | Yeni kayıt ekle |
| DELETE | `/api/snippets/:id` | Kayıt sil |
| PATCH | `/api/snippets/:id/category` | Kategori güncelle |
| GET | `/api/categories` | Kategorileri listele |
| POST | `/api/categories` | Kategori ekle |
| PUT | `/api/categories/:id` | Kategori güncelle |
| DELETE | `/api/categories/:id` | Kategori sil |
MIT License
⭐ Projeyi beğendiyseniz yıldız vermeyi unutmayın!