Skip to content

Keep every link organized, searchable, and accessible with Markify’s clean, modern bookmark manager.

Notifications You must be signed in to change notification settings

btwitskaif69/Markify

Repository files navigation

Markify Banner

Markify

🔖 The Modern Bookmark Manager for the Modern Web

Save, organize, and rediscover the content that matters—without the chaos.

Website License Last Commit

Live Demo · What is Markify? · Blog · Report Bug


✨ Features

Feature Description
🔍 Full-Text Search Find any bookmark instantly across titles, descriptions, and tags
📁 Smart Collections Organize bookmarks with custom collections and nested folders
🏷️ Tags & Filters Flexible tagging system for quick categorization
🌐 Browser Extension Save links with one click from Chrome, Firefox, or Edge
☁️ Cross-Device Sync Access your bookmarks from anywhere—web, mobile, or extension
🔒 Privacy First Your data is encrypted and never sold
🌙 Dark Mode Beautiful dark theme that's easy on the eyes
📤 Import/Export Migrate from Chrome, Raindrop, or Pinboard seamlessly

🛠️ Tech Stack

Frontend Backend Database Deployment
Next.js Next.js PostgreSQL Vercel
React Node.js Prisma Cloudflare
TailwindCSS Zod

🚀 Quick Start

Prerequisites

  • Node.js v18 or higher
  • npm or yarn
  • PostgreSQL database (or use a hosted solution like Supabase/Neon)

Installation

# Clone the repository
git clone https://github.com/btwitskaif69/Markify.git

# Navigate to project directory
cd Markify

# Install dependencies
npm install

# Set up environment variables
cp .env.example .env
# Edit .env with your database URL and API keys

# Run database migrations
npx prisma migrate dev

# Start development server
npm run dev           # http://localhost:3000

📁 Project Structure

Markify/
  app/                         # Next.js App Router
    (auth)/                    # Auth routes (group)
    (public)/                  # Marketing/public routes (group)
    api/                       # Route handlers (backend)
    layout.jsx
    page.jsx
    not-found.jsx
    error.jsx
    loading.jsx
    globals.css
  client/                      # Client-only hooks/context/lib
    hooks/
    context/
    lib/
  components/                  # UI components
  lib/                         # Shared, framework-agnostic utils
  server/                      # Server-only logic (used by route handlers)
    config/
    controllers/
    db/
    middleware/
    services/
    utils/
  prisma/                        # Prisma schema & migrations
  public/                        # Static assets
  markify-extension/             # Browser extension
  package.json
  next.config.mjs

🔗 API Endpoints

Method Endpoint Description
POST /api/users/initiate-signup Start signup flow
POST /api/users/verify-email Verify email
POST /api/users/login User login
POST /api/users/forgot-password Request password reset
POST /api/users/reset-password/{token} Reset password
GET /api/users/profile Get current user profile
PATCH /api/users/profile Update profile
GET /api/collections List collections
POST /api/collections Create collection
POST /api/bookmarks Create bookmark
PATCH /api/bookmarks/{bookmarkId} Update bookmark
DELETE /api/bookmarks/{bookmarkId} Delete bookmark
POST /api/upload Upload asset

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

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

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.


👨‍💻 Author

Mohd Kaif

GitHub Twitter LinkedIn


⭐ Star this repo if you find it useful!

Built with ❤️ by Mohd Kaif

About

Keep every link organized, searchable, and accessible with Markify’s clean, modern bookmark manager.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •