Skip to content

dafengzhen/infoharvest

Repository files navigation

InfoHarvest

LICENSE

InfoHarvest is a bookmark management tool that helps users collect and store interesting online content for easy access and management.

InfoHarvest adopts a front-end and back-end separation architecture, supports single-user management, and uses MySQL 9 as the database.

简体中文

Features

  • Multiple names and links: Support for adding multiple names and links to the same bookmark.
  • Rich bookmark information: Allows adding tags, descriptions, etc., to bookmarks.
  • Keyword search: Powerful search capabilities to quickly find bookmarks.
  • Bookmark history: Records bookmark update history for easy tracking.
  • Private deployment: Supports private deployment to ensure complete control over bookmark data.

InfoHarvest Extension

Set InfoHarvest as your default new tab page for a seamless browsing experience.

Quick Start

If you want to develop or deploy InfoHarvest locally, follow the steps below.

Local Development

Start the Back-end Service

  1. Clone the repository

    git clone https://github.com/dafengzhen/infoharvest-api
  2. Configure the .env file and set up database connection information

  3. Install dependencies

    npm install
  4. Start the service (default port: 8080)

    npm run dev
  5. For other commands, refer to the package.json file

Start the Front-end Service

  1. Clone the repository

    git clone https://github.com/dafengzhen/infoharvest
  2. Install dependencies

    npm install
  3. Start the service (default port: 3000)

    npm run dev
  4. For more commands, refer to the package.json file

Private Deployment

InfoHarvest back-end is deployed using Docker to simplify environment configuration.

The front-end supports static export and can be deployed to any web server that supports static files.

Preparation

Ensure MySQL 9 is installed and create a database according to the .env configuration file (default database name: infoharvest).

Build the Back-end Service

  1. Update the .env configuration file and set up database information

  2. Run the following command to build the back-end service

    docker build -t infoharvest .

    Default back-end service port: 8080.

Build the Front-end Service

  1. Update the .env configuration file and set up API interface information

  2. Run the following command to build the front-end, output directory is out

    npm run build

Run the Services

  1. Run the Back-end Service

    After building, use the docker run command to run the back-end:

    Example:

    docker run --restart=always -d -p 8080:8080 infoharvest
  2. Run the Front-end Service

    After building, deploy the out directory to a web server.

    Example: Using Nginx as a proxy:

    server {
      ......
    
      # Infoharvest
      location /infoharvest {
        alias /usr/share/nginx/html/infoharvest/out;
        try_files $uri $uri.html $uri/ =404;
      }
    
      ......
    }

Feedback

If you have any suggestions or issues ↗, please submit an Issue on GitHub. Your feedback is welcome!

License

InfoHarvest follows the MIT license.

About

InfoHarvest is a bookmark management tool that helps users collect and store interesting online content for easy access and management.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors