{"id":24760682,"url":"https://github.com/ervg0203/questsearchusinggrpc","last_synced_at":"2026-04-15T10:33:23.026Z","repository":{"id":274342428,"uuid":"922622245","full_name":"ervg0203/QuestSearchUsingGRPC","owner":"ervg0203","description":"QuestSearch is a search application that allows users to explore a database of questions with real-time search and seamless pagination. Built with React, Node.js, gRPC, and MongoDB, it offers a responsive design optimized for all devices, ensuring efficient navigation and performance for question exploration and management.","archived":false,"fork":false,"pushed_at":"2025-01-26T18:03:05.000Z","size":225,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-10T13:28:10.351Z","etag":null,"topics":["grpc","grpc-web","mongodb","nodejs","reactjs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/ervg0203.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}},"created_at":"2025-01-26T17:35:32.000Z","updated_at":"2025-01-26T18:03:08.000Z","dependencies_parsed_at":"2025-01-26T18:40:39.844Z","dependency_job_id":null,"html_url":"https://github.com/ervg0203/QuestSearchUsingGRPC","commit_stats":null,"previous_names":["ervg0203/questsearchusinggrpc"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ervg0203/QuestSearchUsingGRPC","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ervg0203%2FQuestSearchUsingGRPC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ervg0203%2FQuestSearchUsingGRPC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ervg0203%2FQuestSearchUsingGRPC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ervg0203%2FQuestSearchUsingGRPC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ervg0203","download_url":"https://codeload.github.com/ervg0203/QuestSearchUsingGRPC/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ervg0203%2FQuestSearchUsingGRPC/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279019091,"owners_count":26086513,"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-10-14T02:00:06.444Z","response_time":60,"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":["grpc","grpc-web","mongodb","nodejs","reactjs"],"created_at":"2025-01-28T18:18:50.672Z","updated_at":"2025-10-14T11:15:19.813Z","avatar_url":"https://github.com/ervg0203.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# QuestSearchUsingGRPC\nQuestSearch is a search application that allows users to explore a database of questions with real-time search and seamless pagination. Built with React, Node.js, gRPC, and MongoDB, it offers a responsive design optimized for all devices, ensuring efficient navigation and performance for question exploration and management.\n\n\n## Features  \n\n- **Real-time Search**: Instant results with autocomplete suggestions as you type.    \n- **Pagination**: Easily navigate through large datasets with next/previous buttons.  \n- **Responsive Design**: Fully optimized for all device sizes.  \n\n---\n\n## Technologies Used  \n\n- **Frontend**: React\n- **Backend**: Node.js  \n- **Communication**: gRPC  \n- **Database**: MongoDB  \n- **API Documentation**: Protocol Buffers, gRPC-web  \n\n---\n\n## Requirements  \n\n- **Node.js**: v14.0.0 or higher  \n- **MongoDB**: A running MongoDB instance  \n- **Docker**: Optional for local testing with gRPC  \n\n---\n\n## Setup Instructions  \n\n### 1. Clone the Repository and Unzip the file  \n\n```bash  \ngit clone https://github.com/ervg0203/QuestSearchUsingGRPC.git \ncd QuestSearchUsingGRPC\n```\n\n### 2. Backend Setup (Node.js)\n\n-   Navigate to the backend directory and install dependencies:\n\n#### For Node.js:\n\n``` bash\ncd backend\nnpm install\nnodemon ./src/app.js\n```\n\n### 3. Frontend Setup (React)\n\n-   Navigate to the frontend directory and install dependencies:\n\n```bash\ncd frontend\nnpm install\nnpm start\n```\n\n### 4. Running the Project with Docker\n\nTo run the entire project using Docker, follow these steps:\n\n1. Ensure you have Docker installed on your machine.\n\n2. Build and start the container in the root folder:\n\n    ```bash\n    docker build -t envoy-server .\n    docker run -d --name envoy-server -p 8000:8000 -p 6000:6000 envoy-server\n    ```\n    \n### 5. Setting up MongoDB\n\n- Make a MongoDB database name as questsearch and import the questions json file into the database and then you are good to go.\n\n### 6. Enhancements \u0026 Unique Features\n\n1. Search Functionality\n   The frontend provides a search bar for querying questions based on titles. Results are dynamically displayed with pagination and filtering based on question types.\n\n2. Pagination\n   The result page supports pagination with next and previous buttons, making it easier to browse through large datasets.\n\n\n### 7. UI Images\n\n![Screenshot 2025-01-26 225053](https://github.com/user-attachments/assets/e9736e5b-237c-4e4f-8a61-89c39b2e0977)\n\n![Screenshot 2025-01-26 225146](https://github.com/user-attachments/assets/a4ca21f3-9124-4586-8321-ae878f22b0b6)\n\n![Screenshot 2025-01-26 225233](https://github.com/user-attachments/assets/b28f7ea4-8546-4f42-ac77-f1fb5d8a6672)\n\n![Screenshot 2025-01-26 225308](https://github.com/user-attachments/assets/e45b2bca-59d3-490f-b83b-0be97053bea8)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fervg0203%2Fquestsearchusinggrpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fervg0203%2Fquestsearchusinggrpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fervg0203%2Fquestsearchusinggrpc/lists"}