Save, organize, and rediscover the content that matters—without the chaos.
| 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 |
- Node.js v18 or higher
- npm or yarn
- PostgreSQL database (or use a hosted solution like Supabase/Neon)
# 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:3000Markify/
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
| 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 |
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
⭐ Star this repo if you find it useful!
Built with ❤️ by Mohd Kaif
