Skip to content

Your safe place for all links - A modern, powerful bookmark manager that helps you organize and access your important links from Instagram, Twitter, and the web.

Notifications You must be signed in to change notification settings

JayShende/BookmarkMe

Repository files navigation

πŸ”– BookmarkMe

BookmarkMe Logo

Your safe place for all links - A modern, powerful bookmark manager that helps you organize and access your important links from Instagram, Twitter, and the web.

Next.js TypeScript Prisma Tailwind CSS

πŸš€ Live Demo β€’ πŸ“– Documentation β€’ πŸ› Report Bug β€’ ✨ Request Feature


✨ Features

🎯 Core Functionality

  • πŸ” Lightning Fast Search - Find any link instantly with powerful search functionality
  • 🏷️ Smart Tagging System - Organize bookmarks with intelligent tags and categories
  • πŸ“± Dedicated Sections - Separate organized spaces for Instagram, Twitter, and web links
  • ♾️ Unlimited Storage - Save as many links as you want without restrictions

πŸš€ Advanced Features

  • ⚑ Real-time Sync - Access your bookmarks across all devices
  • πŸ”’ Secure & Private - Your data is safe with secure authentication
  • 🌐 Cross-platform - Works everywhere with responsive design
  • πŸ€– Auto-detection - Automatically detects link types (Twitter, Instagram, Web)
  • πŸ“Š Smart Organization - AI-powered suggestions and categorization

🎨 User Experience

  • 🎭 Modern UI - Beautiful, intuitive interface built with Radix UI
  • πŸ“± Mobile Responsive - Perfect experience on all devices
  • ⚑ Fast Performance - Optimized with Next.js 15 and React 19
  • 🎨 Customizable - Personalize your bookmarking experience

πŸ› οΈ Tech Stack

Frontend

  • Framework: Next.js 15.5.0 with App Router
  • Language: TypeScript 5.0
  • Styling: Tailwind CSS 4.0
  • UI Components: Radix UI + Custom Components
  • State Management: Redux Toolkit + React Query
  • Forms: React Hook Form + Zod validation
  • Icons: Lucide React + React Icons

Backend

  • Database: PostgreSQL with Prisma ORM
  • Authentication: NextAuth.js v5 (Google, GitHub)
  • API: Next.js API Routes
  • Validation: Zod schemas

Development Tools

  • Linting: ESLint with Next.js config
  • Type Checking: TypeScript strict mode
  • Package Manager: npm
  • Version Control: Git

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • PostgreSQL database
  • npm or yarn package manager

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/bookmarkme.git
    cd bookmarkme
  2. Install dependencies

    npm install
  3. Set up environment variables

    cp .env.example .env.local

    Fill in your environment variables:

    # Database
    DATABASE_URL="postgresql://username:password@localhost:5432/bookmarkme"
    
    # NextAuth
    NEXTAUTH_URL="http://localhost:3000"
    NEXTAUTH_SECRET="your-secret-key"
    
    # OAuth Providers
    GOOGLE_CLIENT_ID="your-google-client-id"
    GOOGLE_CLIENT_SECRET="your-google-client-secret"
    GITHUB_CLIENT_ID="your-github-client-id"
    GITHUB_CLIENT_SECRET="your-github-client-secret"
  4. Set up the database

    npx prisma generate
    npx prisma db push
  5. Run the development server

    npm run dev
  6. Open your browser Navigate to http://localhost:3000


πŸ“ Project Structure

bookmarkme/
β”œβ”€β”€ app/                          # Next.js App Router
β”‚   β”œβ”€β”€ (protected)/             # Protected routes
β”‚   β”‚   └── dashboard/           # Main dashboard
β”‚   β”œβ”€β”€ api/                     # API routes
β”‚   β”‚   β”œβ”€β”€ auth/               # Authentication endpoints
β”‚   β”‚   └── v1/                 # API v1 endpoints
β”‚   β”œβ”€β”€ pages/                   # Page components
β”‚   β”œβ”€β”€ services/                # API services & mutations
β”‚   └── types/                   # TypeScript type definitions
β”œβ”€β”€ components/                   # Reusable UI components
β”‚   β”œβ”€β”€ ui/                      # Base UI components
β”‚   └── magicui/                 # Custom UI components
β”œβ”€β”€ prisma/                      # Database schema & migrations
β”œβ”€β”€ hooks/                       # Custom React hooks
β”œβ”€β”€ lib/                         # Utility functions
β”œβ”€β”€ redux/                       # Redux store & slices
└── schema/                      # Zod validation schemas

πŸ”§ Available Scripts

# Development
npm run dev          # Start development server on port 3000

# Production
npm run build        # Build the application
npm run start        # Start production server

# Database
npx prisma generate  # Generate Prisma client
npx prisma db push   # Push schema changes to database
npx prisma studio    # Open Prisma Studio

# Code Quality
npm run lint         # Run ESLint

🎯 Usage

Adding Bookmarks

  1. Click the "Add Bookmark" button
  2. Enter the URL (auto-detects type)
  3. Add a title and description
  4. Select or create tags
  5. Save your bookmark

Organizing Links

  • Search: Use the search bar to find specific links
  • Filter: Filter by type (Twitter, Instagram, Web)
  • Tags: Use tags to categorize your bookmarks
  • Sections: Navigate between different link types

Managing Tags

  • Create new tags on-the-fly
  • Assign multiple tags to bookmarks
  • Reuse existing tags for consistency

🀝 Contributing

We love contributions! Here's how you can help make BookmarkMe even better:

πŸ› Reporting Issues

Before creating an issue, please:

  1. Check if the issue already exists
  2. Use the issue templates
  3. Provide detailed reproduction steps
  4. Include screenshots if applicable

πŸš€ Contributing Code

  1. Fork the repository

    git clone https://github.com/yourusername/bookmarkme.git
    cd bookmarkme
  2. Create a feature branch

    git checkout -b feature/amazing-feature
  3. Make your changes

    • Follow the existing code style
    • Add tests for new features
    • Update documentation as needed
  4. Commit your changes

    git commit -m "Add amazing feature"
  5. Push to your branch

    git push origin feature/amazing-feature
  6. Open a Pull Request

    • Use the PR template
    • Link related issues
    • Request reviews from maintainers

πŸ“‹ Development Guidelines

  • Code Style: Follow ESLint configuration
  • TypeScript: Use strict typing
  • Components: Use functional components with hooks
  • Testing: Add tests for new features
  • Documentation: Update README for new features

🏷️ Issue Labels

  • bug - Something isn't working
  • enhancement - New feature or request
  • documentation - Improvements to documentation
  • good first issue - Good for newcomers
  • help wanted - Extra attention is needed
  • question - Further information is requested

πŸ“„ License

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


πŸ™ Acknowledgments

  • Next.js for the amazing React framework
  • Prisma for the excellent database toolkit
  • Radix UI for accessible component primitives
  • Tailwind CSS for the utility-first CSS framework
  • Vercel for hosting and deployment

About

Your safe place for all links - A modern, powerful bookmark manager that helps you organize and access your important links from Instagram, Twitter, and the web.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published