{"id":15711221,"url":"https://github.com/vibinex/vibinex-server","last_synced_at":"2025-07-23T09:05:36.055Z","repository":{"id":164724372,"uuid":"604758060","full_name":"vibinex/vibinex-server","owner":"vibinex","description":"This website will be the interface for the organizations to get AI insights about their own code and their software development teams.","archived":false,"fork":false,"pushed_at":"2025-03-28T14:03:48.000Z","size":18961,"stargazers_count":17,"open_issues_count":52,"forks_count":14,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-13T00:51:42.666Z","etag":null,"topics":["bitbucket","bitbucket-pipelines","extension-chrome","github","github-actions","gitlab","gitlab-ci","hacktoberfest","next-auth","nextjs","nextjs13","postgres","postgresql","reactjs","tailwindcss","typescript"],"latest_commit_sha":null,"homepage":"https://vibinex.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vibinex.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2023-02-21T18:18:31.000Z","updated_at":"2025-03-28T06:34:32.000Z","dependencies_parsed_at":"2023-09-23T03:41:55.968Z","dependency_job_id":"10c7f4ab-f8eb-4b27-810b-1b0ada699e8a","html_url":"https://github.com/vibinex/vibinex-server","commit_stats":null,"previous_names":["alokit-innovations/vibinex-server","vibinex/vibinex-server"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vibinex/vibinex-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vibinex%2Fvibinex-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vibinex%2Fvibinex-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vibinex%2Fvibinex-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vibinex%2Fvibinex-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vibinex","download_url":"https://codeload.github.com/vibinex/vibinex-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vibinex%2Fvibinex-server/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266649140,"owners_count":23962177,"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","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["bitbucket","bitbucket-pipelines","extension-chrome","github","github-actions","gitlab","gitlab-ci","hacktoberfest","next-auth","nextjs","nextjs13","postgres","postgresql","reactjs","tailwindcss","typescript"],"created_at":"2024-10-03T21:12:12.777Z","updated_at":"2025-07-23T09:05:36.031Z","avatar_url":"https://github.com/vibinex.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vibinex Website\n[![Website](https://img.shields.io/website?url=https%3A%2F%2Fvibinex.com)](https://vibinex.com)\n![Website version](https://img.shields.io/github/package-json/v/vibinex/vibinex-server)\n![Website activity](https://img.shields.io/github/commit-activity/y/vibinex/vibinex-server)\n![Website contributors](https://img.shields.io/github/contributors/vibinex/vibinex-server)\n[![License](https://img.shields.io/badge/license-AGPLv3-purple)](https://github.com/vibinex/vibinex-server/blob/main/LICENSE)\n\nThis is the project for the [Vibinex website](https://vibinex.com) and the primary backend for the [Vibinex Browser Extension](https://github.com/vibinex/chrome-extension). It's a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).\n\n## Introduction\n\nVibinex Code Review enriches the GitHub, Bitbucket and GitLab pull-request/merge-request UI with data from the git history.\nBy making the UI more personalized to the contributors of the project using Vibinex, tech teams can increase the quality of their\ncode reviews, increase the overall code awareness and ownership in the team and reduce the time and effort it takes to review a pull request.\n\nVibinex Code Review offers these features:\n\n1. Automatic assignment of reviewers on any pull request based on authorship\n2. Comments on the pull-request indicating percentage weightage of approvals of different reviewers as well as completion rates.\n3. Personalized highlighting of relevant pull requests, files and code-hunks in the pull request that are revent to the contributor. (This feature is only enabled for users who have installed the browser extension).\n\n## Architecture\n\nThe primary frontend of the Vibinex Code Review tool is the browser extension.\nThere are two backends:\n\n1. **On-prem Rust service**: stores the whole repository and processes the code and git history to assign reviewers, add comments and extract the meta data required for personalized highlighting.\n2. **NextJS backend**: Serves as the backend for the browser extension. It handles authentication, authorization, analytics, meta-data storage and security. This server also hosts the website on [vibinex.com](https://vibinex.com).\n\n## Contribute\n\n### Repository setup\n1. Fork this repository using the GitHub GUI.\n2. Clone your fork of the repository:\n```sh\ngit clone https://github.com/\u003cyour_username\u003e/vibinex-server.git\n```\n\nor, if you use `SSH` cloning:\n\n```sh\ngit clone git@github.com:\u003cyour_username\u003e/vibinex-server.git\n```\n3. Create a new branch with your user-prefixed branch name. \u003cbr\u003e_Optional: If you are working on an issue, you can directly use the issue number as the branch name._\n```sh\ngit checkout -b \u003cyour_username\u003e/\u003cyour_branch_name\u003e\n```\n\n### Install dependencies\nEnter the repository folder and install dependencies:\n```sh\nnpm install\n# or\nyarn\n```\n\n### Start NextJS server\n\nFirst, run the development server:\n\n```bash\nnpm run dev\n# or\nyarn dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) with your browser to see the result.\n\nYou can start editing the page by modifying `pages/index.tsx`. The page auto-updates as you edit the file.\n\n[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`.\n\nThe `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.\n\n### Connect to Test environment\n\nCreate a `.env.local` file in the root directory and add the following in it:\n\n```bash\n# NextAuthJS\nNEXTAUTH_URL=http://localhost:3000\nNEXTAUTH_SECRET=\n\n# Github Login\nGITHUB_CLIENT_ID=78eb181cacd859319797\nGITHUB_CLIENT_SECRET=c6efe816493a0b553ef20364134a3009b724b402\n\n# Bitbucket Login\nBITBUCKET_CLIENT_ID=\nBITBUCKET_CLIENT_SECRET=\n\n# Bitbucket OAuth consumer\nBITBUCKET_OAUTH_CLIENT_ID=\n\n# GitLab Login\nGITLAB_CLIENT_ID=\nGITLAB_CLIENT_SECRET=\n\n# PostGreSQL Connection\nPGSQL_USER=postgres\nPGSQL_PASSWORD=vibi@test-pg\nPGSQL_HOST=127.0.0.1\nPGSQL_PORT=5432\nPGSQL_DATABASE=test-db\n```\n\n(TODO: Add steps for downloading the `cloud-sql-proxy` script)\n\nNow run the following command is a different terminal:\n\n```bash\n./cloud-sql-proxy --port 5432 vibi-test-394606:asia-south1:test-db --gcloud-auth\n```\n\nThis will enable you to connect with our test database hosted on your localhost.\n\nThe environment file also contains client ID and client secret for the Vibinex-Test OAuth App so that you can use the entire website locally\nby logging in using GitHub.\nYou can create your own Bitbucket or GitLab OAuth consumers and add your client-id and client-secrets in the `.env.local` file to test them out.\n\n### Running Unit Tests\n\nUnit tests written using jest library can be run using:\n\n```bash\nnpm test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvibinex%2Fvibinex-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvibinex%2Fvibinex-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvibinex%2Fvibinex-server/lists"}