Skip to content

Smart Bookmark is a simple, AI-powered tool to help you stay organized and make the most of your bookmarks. Features like smart search, automatic summaries, and tagging make it easy to search and organize your bookmarks.

License

Notifications You must be signed in to change notification settings

dh1011/smart-bookmark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌟 Smart Bookmark

Smart Bookmark is a simple, AI-powered tool to help you stay organized and make the most of your bookmarks. Features like smart search, automatic summaries, and tagging make it easy to search and organize your bookmarks.

✨ Features

  • 🔍 Smarter Search: Quickly find what you need without having to remember exact keywords.
  • 📝 Automatic Summaries: Let AI create summaries and tags for your bookmarks so you don’t have to.
  • 📚 Bulk Bookmarking: Add multiple bookmarks in one go.

🎥 Demo

demo.mov

🚀 Installation

✅ Prerequisites

  • 🐋 Docker installed on your machine.
  • 🔑 A valid Google API key (free tier is sufficient for personal use).
  • 🐘 PostgreSQL database with the pgvector extension installed (Learn more).

📦 Quick Start with Docker Compose

Using Docker Compose, you can quickly deploy the application with the prebuilt images from Docker Hub.

1. Create docker-compose.yml

Create a new file named docker-compose.yml and add the following content:

version: "3.8"

services:
  backend:
    image: dh1011/smart-bookmark-backend:latest
    ports:
      - "8000:8000"
    environment:
      DB_HOST: "postgres"
      DB_PORT: "5432"
      DB_NAME: "your-db-name"
      DB_USER: "your-db-user"
      DB_PASSWORD: "your-db-password"
    depends_on:
      - postgres
    restart: unless-stopped

  frontend:
    image: dh1011/smart-bookmark-frontend:latest
    ports:
      - "3000:3000"
    environment:
      REACT_APP_API_BASE_URL: "http://127.0.0.1:8000"
    depends_on:
      - backend
    restart: unless-stopped

  postgres:
    image: pgvector/pgvector:pg17
    container_name: postgres-db
    ports:
      - "5432:5432"
    environment:
      POSTGRES_USER: your-db-user
      POSTGRES_PASSWORD: your-db-password
      POSTGRES_DB: your-db-name
    volumes:
      - postgres_data:/var/lib/postgresql/data
    restart: unless-stopped

volumes:
  postgres_data:

Note: If running the app on a remote host, update the REACT_APP_API_BASE_URL in the frontend service to match your server's IP address:

REACT_APP_API_BASE_URL: "http://<your-server-ip>:8000"

2. Configure PostgreSQL (Optional)

If you plan to use an existing PostgreSQL database:

  • Update the DB_HOST, DB_PORT, DB_NAME, DB_USER, and DB_PASSWORD environment variables in the backend service.
  • Ensure the pgvector extension is installed on your PostgreSQL database (Installation Guide).

3. Start the Services

Run the following command to start all services:

docker-compose up -d

4. Access the Application


🛠 Manual Setup (Without Docker)

If you prefer to set up the application manually, follow these steps:

Backend

  1. Install Python and create a virtual environment:

    python3 -m venv venv
    source venv/bin/activate  # On Windows, use venv\Scripts\activate
  2. Install the required dependencies:

    pip install -r backend/requirements.txt
  3. Run the FastAPI backend:

    uvicorn backend.main:app --host 0.0.0.0 --port 8000

Frontend

  1. Navigate to the frontend directory:

    cd frontend
  2. Install dependencies:

    npm install
  3. Start the development server:

    npm start

PostgreSQL Database

  • Set up a PostgreSQL database and ensure the pgvector extension is installed (Installation Guide).

🛡️ Usage

  1. Obtain a Google API key 🔑 (Get it here).
  2. Open the app and go to Settings ⚙️.
  3. Enter your API key and click Save Configuration 💾.
  4. Test the AI models by clicking Test Models 🛠️.
  5. Add bookmarks:
    • Click the + ➕ button.
    • Paste one or more links 🌐.
    • Save, and let the AI generate summaries and tags 🎉.

📜 License

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

About

Smart Bookmark is a simple, AI-powered tool to help you stay organized and make the most of your bookmarks. Features like smart search, automatic summaries, and tagging make it easy to search and organize your bookmarks.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published