{"id":20772504,"url":"https://github.com/akash-m-se/vector-verse","last_synced_at":"2026-04-06T08:31:55.810Z","repository":{"id":241418233,"uuid":"805577902","full_name":"Akash-m-SE/vector-verse","owner":"Akash-m-SE","description":"A Next.js web application for interacting with PDF documents through a chat interface. It enables users to create, manage, and query PDF content, delivering contextual insights based on document information.","archived":false,"fork":false,"pushed_at":"2025-07-29T20:01:13.000Z","size":2702,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-29T20:02:41.820Z","etag":null,"topics":["aceternity-ui","aws-s3","bullmq","docker","docker-compose","html","langchain-js","nextauth","nextjs14","pgvector","postgresql","prisma","reacthookform","redis","redis-server","shadcn-ui","tailwindcss","typescript","zod"],"latest_commit_sha":null,"homepage":"https://vector-verse.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Akash-m-SE.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2024-05-24T22:28:13.000Z","updated_at":"2025-07-29T20:01:17.000Z","dependencies_parsed_at":"2024-07-05T18:10:45.081Z","dependency_job_id":"d68e2e68-7bc8-4f0e-85e4-49c4068df050","html_url":"https://github.com/Akash-m-SE/vector-verse","commit_stats":null,"previous_names":["akash-m-se/vector-verse"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Akash-m-SE/vector-verse","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akash-m-SE%2Fvector-verse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akash-m-SE%2Fvector-verse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akash-m-SE%2Fvector-verse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akash-m-SE%2Fvector-verse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Akash-m-SE","download_url":"https://codeload.github.com/Akash-m-SE/vector-verse/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akash-m-SE%2Fvector-verse/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31464604,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"online","status_checked_at":"2026-04-06T02:00:07.287Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["aceternity-ui","aws-s3","bullmq","docker","docker-compose","html","langchain-js","nextauth","nextjs14","pgvector","postgresql","prisma","reacthookform","redis","redis-server","shadcn-ui","tailwindcss","typescript","zod"],"created_at":"2024-11-17T12:21:40.214Z","updated_at":"2026-04-06T08:31:55.797Z","avatar_url":"https://github.com/Akash-m-SE.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vector-Verse\n\n\u003cimg src=\"https://hosted-documents-akash.s3.eu-central-1.amazonaws.com/Vector-Verse/Vector+Verse+Github+Readme/vector-verse.png\" alt=\"Logo\" width=\"400\" height=\"400\"/\u003e\n\n**Vector-Verse** is a Next.js web application designed to facilitate interaction with PDF documents through an intuitive chat interface. Users can create and manage projects by uploading PDFs, which are then processed to extract and analyze the content. Project details are securely stored in a database. The application features a comprehensive dashboard for users to view and manage their projects, and provides contextual responses to queries based on the content of the PDFs.\n\n## Features 🌟\n\n- **Dashboard:** Users can efficiently manage their projects through a personalized dashboard, allowing them to view, delete, and monitor the status of all their projects.\n\n- **PDF Processing:** The application processes PDF files by extracting, cleaning, and chunking their content to generate vector embeddings, enhancing the ability to analyze and search the document's information.\n\n- **Database Integration:** Vector embeddings and corresponding text chunks are stored in a PostgreSQL database, utilizing the pgvector extension to facilitate efficient vector similarity searches.\n\n- **RAG-based Chat Interface:** Users can engage with their PDF content via an advanced conversational interface, which provides contextual responses based on vector similarity search, powered by a language model (LLM).\n\n## Screenshots 📸\n\n![App Screenshot](https://hosted-documents-akash.s3.eu-central-1.amazonaws.com/Vector-Verse/Vector+Verse+Github+Readme/Main+Page.jpg)\n\n![App Screenshot](https://hosted-documents-akash.s3.eu-central-1.amazonaws.com/Vector-Verse/Vector+Verse+Github+Readme/Create+New+Project.jpg)\n\n![App Screenshot](https://hosted-documents-akash.s3.eu-central-1.amazonaws.com/Vector-Verse/Vector+Verse+Github+Readme/Dashboard.jpg)\n\n![App Screenshot](https://hosted-documents-akash.s3.eu-central-1.amazonaws.com/Vector-Verse/Vector+Verse+Github+Readme/Chat+Interface.jpg)\n\n## Deployment 🚀\n\nYou can access the live version of Vector-Verse here: [Live Demo](https://vector-verse.vercel.app/)\n\n## Environment Setup 🛠️ {#environment-setup}\n\nTo run this project, you will need to add the following environment variables to your .env file (a template has been provided as .env.example)\n\n`DATABASE_URL`\n\n`POSTGRES_USER` `POSTGRES_PASSWORD` `POSTGRES_HOST` `POSTGRES_PORT` `POSTGRES_DB`\n\n`NEXTAUTH_SECRET`\n\n`GOOGLE_CLIENT_ID` `GOOGLE_CLIENT_SECRET`\n\n`AWS_S3_REGION` `AWS_S3_ACCESS_KEY_ID` `AWS_S3_SECRET_ACCESS_KEY` `AWS_S3_BUCKET_NAME`\n\n`REDIS_HOST`\n`REDIS_PORT`\n`REDIS_PASSWORD`\n\n`GROQ_API_KEY`\n\n**Note :-**\n\n- When using postgres in cloud you only need the `DATABASE_URL`, but for postgres via docker-compose or as a standalone container, you would need all of the postgres credentials **(more information in .env.example)**.\n\n- If you are using postgres as a standalone container, then you would need to install the pgvector extension inside your docker container. Check out the pgvector documentation here - **https://github.com/pgvector/pgvector**\n\n- You can also use the pgvector official image as your postgres image since it comes with postgres with pgvector installed . Check out the pgvector documentation here **https://github.com/pgvector/pgvector?tab=readme-ov-file#docker**\n\n## Installation 🔧\n\n**Docker-Compose**\n\n**1.** Git Clone the Repository\n\n**2.** Navigate to the directory where the repository was downloaded\n\n```\ncd vector-verse\n```\n\n**3.** Set up the [Environment Variables](#environment-setup)\n\n**4.** Dockerize the application and start up the containers for postgres, redis and the application itself.\n\n```\ndocker-compose up\n```\n\nThis will also let the app container to generate the prisma client, deploy the prisma migrations, connect to the Postgres instance and modify the \"embedding\" field of the \"VectorEmbedding\" table to have 512 dimensions. Then it starts the application in production mode.\n\n**5.** Open your application via port - http://localhost:3000\n\n##\n\n**Docker (Standalone Containers)**\n\n**1.** Git Clone the Repository\n\n**2.** Navigate to the directory where the repository was downloaded\n\n```\ncd vector-verse\n```\n\n**3.** Install the Dependencies\n\n```\npnpm install\n```\n\n**4.** Set up the [Environment Variables](#environment-setup)\n\n**5.** Start the redis container locally\n\n```\ndocker run -d --name vector-verse-redis -e REDIS_PASSWORD=mysecurepassword -p 6379:6379 redis\n```\n\n**6.** Now we need a postgres container with pgvector extension. For that we can go in 2 ways :-\n\n\u003cdetails\u003e\n \u003csummary\u003e\u003cstrong\u003eCloning a pgvector official image\u003c/strong\u003e\u003c/summary\u003e\n\n- Start the pgvector container locally\n`     docker run --name vector-verse-postgres -e POSTGRES_PASSWORD=mysecretpassword -e POSTGRES_USERNAME=postgres -p 5432:5432 -d pgvector/pgvector:pg16\n    `\n\u003c/details\u003e\n\n\u003cbr\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eCloning the postgres image and setting up pgvector inside it manually\u003c/strong\u003e\u003c/summary\u003e\n\n- Start the postgres container locally\n\n  ```\n  docker run --name vector-verse-postgres -e POSTGRES_PASSWORD=mysecretpassword -e POSTGRES_USERNAME=postgres -p 5432:5432 -d postgres\n  ```\n\n- Docker exec into the postgres container\n\n  ```\n  docker exec -it \u003cpostgres-container-id\u003e /bin/bash\n  ```\n\n- Update and install git and other dependencies inside the postgres container\n\n  ```\n  apt-get update\n  apt-get install -y git build-essential postgresql-server-dev-16\n  ```\n\n- Inside the container, install pgvector extension, more on this here :- **https://github.com/pgvector/pgvector**\n\n  Linux and Mac\n\n  Compile and install the extension (supports Postgres 12+)\n\n  ```\n  cd /tmp\n  git clone --branch v0.7.3 https://github.com/pgvector/pgvector.git\n  cd pgvector\n  make\n  make install # may need sudo\n  ```\n\n\u003c/details\u003e\n\n\u003cbr\u003e\n\n**7.** Apply db migrations and update the tables\n\n- Generate the prisma client and apply the migrations via terminal\n\n  ```\n  pnpm prisma generate\n  pnpm prisma migrate deploy\n  ```\n\n- Docker exec into the postgres container and log into the postgres instance\n\n  ```\n  psql -U postgres\n  ```\n\n- Install the vector extension\n\n  ```\n  CREATE EXTENSION IF NOT EXISTS vector;\n  ```\n\n- Update the \"embedding\" field of \"VectorEmbedding\" table to have 512 dimensions\n\n  ```\n  ALTER TABLE \"VectorEmbedding\" ALTER COLUMN \"embedding\" TYPE vector(512);\n  ```\n\n- Exit the postgres instance\n\n  ```\n  \\q\n  ```\n\n- Exit the postgres container\n  ```\n  \\exit\n  ```\n\n**8.** Start the application in development mode\n\n```\npnpm dev\n```\n\nor in production mode\n\n```\npnpm start\n```\n\n**9.** Open your application via port - http://localhost:3000\n\n## Authors ✍️\n\n- [Akash](https://github.com/Akash-m-SE)\n\n## Tech Stack 💻\n\n**Language:** TypeScript\n\n**Frontend:** Next.js, HTML, TailwindCSS, React Hook Form, Zod, shadcn/ui, Aceternity UI\n\n**Backend:** Node.js, BullMQ, Redis, pdf2json, pgvector, LangChain\n\n**Authentication:** NextAuth.js\n\n**Database:** PostgreSQL, Prisma, Supabase\n\n**Cloud Storage:** AWS S3\n\n**Machine Learning / NLP:** TensorFlow, Universal-Sentence-Encoders\n\n**Containerization:** Docker\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakash-m-se%2Fvector-verse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakash-m-se%2Fvector-verse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakash-m-se%2Fvector-verse/lists"}