{"id":23885873,"url":"https://github.com/dafengzhen/infoharvest","last_synced_at":"2025-04-10T01:23:31.803Z","repository":{"id":204034844,"uuid":"709948787","full_name":"dafengzhen/infoharvest","owner":"dafengzhen","description":"InfoHarvest is a bookmark management tool that helps users collect and store interesting online content for easy access and management.","archived":false,"fork":false,"pushed_at":"2025-03-04T11:59:07.000Z","size":4840,"stargazers_count":20,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-24T03:04:59.806Z","etag":null,"topics":["bookmark","harvest","info","infoharvest","information-tool","tool"],"latest_commit_sha":null,"homepage":"https://info-harvest.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dafengzhen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-25T17:55:13.000Z","updated_at":"2025-03-04T11:59:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"daf5115e-e42c-4483-ac2a-f75128e8eca8","html_url":"https://github.com/dafengzhen/infoharvest","commit_stats":null,"previous_names":["dafengzhen/infoharvest"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dafengzhen%2Finfoharvest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dafengzhen%2Finfoharvest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dafengzhen%2Finfoharvest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dafengzhen%2Finfoharvest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dafengzhen","download_url":"https://codeload.github.com/dafengzhen/infoharvest/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248138658,"owners_count":21053914,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bookmark","harvest","info","infoharvest","information-tool","tool"],"created_at":"2025-01-04T05:54:25.216Z","updated_at":"2025-04-10T01:23:31.786Z","avatar_url":"https://github.com/dafengzhen.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# InfoHarvest\n\n[![LICENSE](https://img.shields.io/github/license/dafengzhen/infoharvest)](https://github.com/dafengzhen/infoharvest/blob/main/LICENSE)\n\nInfoHarvest is a bookmark management tool that helps users collect and store interesting online content for easy access\nand management.\n\nInfoHarvest adopts a front-end and back-end separation architecture, supports single-user management, and uses MySQL 9\nas the database.\n\n- **Front-end**：Developed based on [Next.js 15](https://nextjs.org) (React framework)\n- **Back-end**：[InfoHarvest API](https://github.com/dafengzhen/infoharvest-api) developed based\n  on [NestJS 11](https://nestjs.com)\n\n[简体中文](./README.zh.md)\n\n## Features\n\n- **Multiple names and links**: Support for adding multiple names and links to the same bookmark.\n- **Rich bookmark information**: Allows adding tags, descriptions, etc., to bookmarks.\n- **Keyword search**: Powerful search capabilities to quickly find bookmarks.\n- **Bookmark history**: Records bookmark update history for easy tracking.\n- **Private deployment**: Supports private deployment to ensure complete control over bookmark data.\n\n## InfoHarvest Extension\n\nSet InfoHarvest as your default new tab page for a seamless browsing experience.\n\n- **GitHub Repository:** [infoharvest-extension](https://github.com/dafengzhen/infoharvest-extension)\n\n## Quick Start\n\nIf you want to develop or deploy InfoHarvest locally, follow the steps below.\n\n## Local Development\n\n### Start the Back-end Service\n\n1. Clone the repository\n\n   ```bash\n   git clone https://github.com/dafengzhen/infoharvest-api\n   ```\n\n2. Configure the ```.env``` file and set up database connection information\n\n3. Install dependencies\n\n   ```bash\n   npm install\n   ```\n\n4. Start the service (default port: 8080)\n\n   ```bash\n   npm run dev\n   ```\n\n5. For other commands, refer to the package.json file\n\n### Start the Front-end Service\n\n1. Clone the repository\n\n   ```bash\n   git clone https://github.com/dafengzhen/infoharvest\n   ```\n\n2. Install dependencies\n\n   ```bash\n   npm install\n   ```\n\n3. Start the service (default port: 3000)\n\n   ```bash\n   npm run dev\n   ```\n\n4. For more commands, refer to the package.json file\n\n## Private Deployment\n\nInfoHarvest back-end is deployed using Docker to simplify environment configuration.\n\nThe front-end supports static export and can be deployed to any web server that supports static files.\n\n### Preparation\n\nEnsure MySQL 9 is installed and create a database according to the ```.env``` configuration file (default database name:\n```infoharvest```).\n\n### Build the Back-end Service\n\n1. Update the ```.env``` configuration file and set up database information\n\n2. Run the following command to build the back-end service\n\n   ```bash\n   docker build -t infoharvest .\n   ```\n\n   Default back-end service port: 8080.\n\n### Build the Front-end Service\n\n1. Update the .env configuration file and set up API interface information\n\n2. Run the following command to build the front-end, output directory is ```out```\n\n   ```bash\n   npm run build\n   ```\n\n### Run the Services\n\n1. Run the Back-end Service\n\n   After building, use the ```docker run``` command to run the back-end:\n\n   Example:\n\n   ```bash\n   docker run --restart=always -d -p 8080:8080 infoharvest\n   ```\n\n2. Run the Front-end Service\n\n   After building, deploy the ```out``` directory to a web server.\n\n   Example: Using Nginx as a proxy:\n\n   ```nginx\n   server {\n     ......\n   \n     # Infoharvest\n     location /infoharvest {\n       alias /usr/share/nginx/html/infoharvest/out;\n       try_files $uri $uri.html $uri/ =404;\n     }\n   \n     ......\n   }\n   ```\n\n## Feedback\n\nIf you have any suggestions or [issues](https://github.com/dafengzhen/infoharvest/issues) ↗, please submit an Issue on\nGitHub. Your feedback is welcome!\n\n## License\n\nInfoHarvest follows the [MIT](https://opensource.org/licenses/MIT) license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdafengzhen%2Finfoharvest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdafengzhen%2Finfoharvest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdafengzhen%2Finfoharvest/lists"}