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.
- Front-end:Developed based on Next.js 15 (React framework)
- Back-end:InfoHarvest API developed based on NestJS 11
- 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.
Set InfoHarvest as your default new tab page for a seamless browsing experience.
- GitHub Repository: infoharvest-extension
If you want to develop or deploy InfoHarvest locally, follow the steps below.
-
Clone the repository
git clone https://github.com/dafengzhen/infoharvest-api
-
Configure the
.env
file and set up database connection information -
Install dependencies
npm install
-
Start the service (default port: 8080)
npm run dev
-
For other commands, refer to the package.json file
-
Clone the repository
git clone https://github.com/dafengzhen/infoharvest
-
Install dependencies
npm install
-
Start the service (default port: 3000)
npm run dev
-
For more commands, refer to the package.json file
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.
Ensure MySQL 9 is installed and create a database according to the .env
configuration file (default database name:
infoharvest
).
-
Update the
.env
configuration file and set up database information -
Run the following command to build the back-end service
docker build -t infoharvest .
Default back-end service port: 8080.
-
Update the .env configuration file and set up API interface information
-
Run the following command to build the front-end, output directory is
out
npm run build
-
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
-
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; } ...... }
If you have any suggestions or issues ↗, please submit an Issue on GitHub. Your feedback is welcome!
InfoHarvest follows the MIT license.