GithubHelp home page GithubHelp logo

someu / aigotools Goto Github PK

View Code? Open in Web Editor NEW
256.0 4.0 48.0 20.61 MB

AigoTools can help users quickly create and manage website directory, with built-in site auto-crawling features, and also provides internationalization, SEO, image storage, and other functions. It allows users to quickly deploy their own directory site online.

Home Page: https://www.aigotools.com

License: Apache License 2.0

JavaScript 2.10% Dockerfile 0.75% TypeScript 97.03% CSS 0.13%
ai directory nestjs nextjs openai tools aigotools

aigotools's Introduction

AigoTools helps users quickly create and manage website directory with built-in site management and automatic inclusion features. It also offers internationalization, SEO, and multiple image storage solutions, enabling users to quickly deploy and launch their own navigation site.

Visit here: www.aigotools.com

aigotools-preview.mp4

Table of Contents

Features

  • Site Management
  • Automatic Site Information Collection (playwright, jina, openai)
  • User Management (clerk)
  • Internationalization
  • Dark/Light Theme Toggle
  • SEO Optimization
  • Multiple Image Storage Solutions (local minio, AWS S3, Tencent Cloud COS)

Deployment

This project consists of the main navigation site (packages/aigotools) and the inclusion service (packages/crawler). It can be deployed via hosting services like Zeabur or directly on a local machine using docker-compose.

Prerequisites

  • Create an application at https://clerk.com/ and add a user to log in as the admin for the management backend.
  • Obtain OpenAI apiKey and jina apiKey, which are used for site inclusion.
  • Set up MongoDB and Redis databases.

Local Deployment

  1. Clone the repository:

    git clone https://github.com/someu/aigotools.git
    cd aigotools
  2. Configure environment variables: Copy the .env files in packages/aigotools and packages/crawler to .env.prod.

    cp packages/aigotools/.env packages/aigotools/.env.prod
    cp packages/crawler/.env packages/crawler/.env.prod

    Modify the configuration files accordingly.

  3. Start the project:

    docker-compose up -d

Note: If using minio for image storage, you can initially leave the minio authentication configuration empty when starting the project. After running the project, access the minio management backend to create a Bucket, ACCESS_KEY, and SECRET_KEY, enable public read permissions for the Bucket, update the configuration file, and restart the project.

Hosting Service Deployment

Deploy on Zeabur

Refer to the documentation: zeabur-deploy.md

Zeabur demo link: https://aigotools.zeabur.app/

Development

  1. Clone the repository:

    git clone https://github.com/someu/aigotools.git
    cd aigotools
  2. Install dependencies:

    pnpm i
  3. Configure environment variables: Copy the .env files in packages/aigotools and packages/crawler to .env.local and modify the configuration files.

    cp packages/aigotools/.env packages/aigotools/.env.local
    cp packages/crawler/.env packages/crawler/.env.local
  4. Start the project: Navigate to packages/aigotools and packages/crawler respectively.

    pnpm run dev

Figma Resource

We have also open-sourced the design drafts for this project. Feel free to use the UI and code from this project to develop your own website.

https://www.figma.com/community/file/1385200592630492334/aigotools

AigoTools Figma

Maintainers

@someu.

How to Contribute

We warmly welcome your contributions! Submit an Issue or submit a Pull Request.

Contact Us

For any questions or suggestions, please contact us via:

🌟 Star History

Star History Chart

License

AigoTools is licensed under the Apache License 2.0. For more details, see the LICENSE file.

aigotools's People

Contributors

eltociear avatar someu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

aigotools's Issues

dockercompose up -d报错,是要先自己启动mongodb?

203.8 ./src/lib/actions.ts
203.8 6:1 Warning: ./create-template-site import should occur after import of @/models/category import/order
203.8 7:1 Warning: ./constants import should occur after import of @/models/category import/order
203.8 8:1 Warning: ./config import should occur after import of @/models/category import/order
203.8 28:49 Warning: Insert , prettier/prettier
203.8 311:40 Warning: Insert , prettier/prettier
203.8 415:36 Warning: Insert , prettier/prettier
203.8 531:11 Warning: Insert , prettier/prettier
203.8 561:8 Warning: Insert , prettier/prettier
203.8 580:8 Warning: Insert , prettier/prettier
203.8 589:44 Warning: Insert , prettier/prettier
203.8 601:8 Warning: Insert , prettier/prettier
203.8 610:44 Warning: Insert , prettier/prettier
203.8 622:8 Warning: Insert , prettier/prettier
203.8 660:8 Warning: Insert , prettier/prettier
203.8 749:45 Warning: Insert , prettier/prettier
203.8
203.8 ./src/lib/config.ts
203.8 11:12 Warning: Insert , prettier/prettier
203.8 52:13 Warning: Insert , prettier/prettier
203.8
203.8 ./src/lib/cos.ts
203.8 14:22 Warning: Insert , prettier/prettier
203.8 42:7 Warning: Insert , prettier/prettier
203.8
203.8 ./src/lib/create-template-site.ts
203.8 3:1 Warning: @/models/site import should occur before import of ./constants import/order
203.8
203.8 ./src/lib/db-connect.ts
203.8 5:1 Warning: @/lib/config import should occur before import of ../models/site import/order
203.8 12:75 Warning: Insert , prettier/prettier
203.8
203.8 ./src/lib/minio.ts
203.8 18:22 Warning: Insert , prettier/prettier
203.8 38:8 Warning: Insert , prettier/prettier
203.8 58:7 Warning: Insert , prettier/prettier
203.8
203.8 ./src/lib/s3.ts
203.8 21:22 Warning: Insert , prettier/prettier
203.8 52:7 Warning: Insert , prettier/prettier
203.8
203.8 ./src/middleware.ts
203.8 38:34 Warning: Insert , prettier/prettier
203.8
203.8 info - Need to disable some ESLint rules? Learn more here: https://nextjs.org/docs/basic-features/eslint#disabling-rules
211.6 Collecting page data ...
243.9 MongooseServerSelectionError: getaddrinfo ENOTFOUND aigotools-mongo
243.9 at _handleConnectionErrors (/app/node_modules/.pnpm/[email protected]/node_modules/mongoose/lib/connection.js:897:11)
243.9 at NativeConnection.openUri (/app/node_modules/.pnpm/[email protected]/node_modules/mongoose/lib/connection.js:848:11)
243.9 at async S (/app/.next/server/app/sitemap/[metadata_id]/route.js:1:3865)
243.9 at async w (/app/.next/server/app/sitemap/[metadata_id]/route.js:1:4541)
243.9 at async Object.I [as generateStaticParams] (/app/.next/server/app/sitemap/[metadata_id]/route.js:1:5896)
243.9 at async buildParams (/app/node_modules/.pnpm/[email protected][email protected][email protected][email protected][email protected]/node_modules/next/dist/build/utils.js:1026:40)
243.9 at async /app/node_modules/.pnpm/[email protected][email protected][email protected][email protected][email protected]/node_modules/next/dist/build/utils.js:1043:33
243.9 at async /app/node_modules/.pnpm/[email protected][email protected][email protected][email protected][email protected]/node_modules/next/dist/build/utils.js:1177:114
243.9 at async Span.traceAsyncFn (/app/node_modules/.pnpm/[email protected][email protected][email protected][email protected][email protected]/node_modules/next/dist/trace/trace.js:154:20) {
243.9 reason: TopologyDescription {
243.9 type: 'Unknown',
243.9 servers: Map(1) { 'aigotools-mongo:27017' => [ServerDescription] },
243.9 stale: false,
243.9 compatible: true,
243.9 heartbeatFrequencyMS: 10000,
243.9 localThresholdMS: 15,
243.9 setName: null,
243.9 maxElectionId: null,
243.9 maxSetVersion: null,
243.9 commonWireVersion: 0,
243.9 logicalSessionTimeoutMinutes: null
243.9 },
243.9 code: undefined
243.9 }
243.9
243.9 > Build error occurred
243.9 Error: Failed to collect page data for /sitemap/[metadata_id]
243.9 at /app/node_modules/.pnpm/[email protected][email protected][email protected][email protected][email protected]/node_modules/next/dist/build/utils.js:1268:15 {
243.9 type: 'Error'
243.9 }
244.1  ELIFECYCLE  Command failed with exit code 1.

failed to solve: process "/bin/sh -c apk add --no-cache libc6-compat && npm config set strict-ssl false && npm config set fetch-retries 10 && corepack enable pnpm && pnpm i && mv next.config.docker.js next.config.js && pnpm run build" did not complete successfully: exit code: 1

Process Fail

hey

有两个问题,不知道哪里设置错:

  1. dispatch后,process是fail。MongoDB和Redis都没有动过。
  2. 设置了分类后,在前台没有显示。

TKS

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.