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.
- Real-time Search: Instant results with autocomplete suggestions as you type.
- Pagination: Easily navigate through large datasets with next/previous buttons.
- Responsive Design: Fully optimized for all device sizes.
- Frontend: React
- Backend: Node.js
- Communication: gRPC
- Database: MongoDB
- API Documentation: Protocol Buffers, gRPC-web
- Node.js: v14.0.0 or higher
- MongoDB: A running MongoDB instance
- Docker: Optional for local testing with gRPC
git clone https://github.com/ervg0203/QuestSearchUsingGRPC.git
cd QuestSearchUsingGRPC- Navigate to the backend directory and install dependencies:
cd backend
npm install
nodemon ./src/app.js- Navigate to the frontend directory and install dependencies:
cd frontend
npm install
npm startTo run the entire project using Docker, follow these steps:
-
Ensure you have Docker installed on your machine.
-
Build and start the container in the root folder:
docker build -t envoy-server . docker run -d --name envoy-server -p 8000:8000 -p 6000:6000 envoy-server
- Make a MongoDB database name as questsearch and import the questions json file into the database and then you are good to go.
-
Search Functionality The frontend provides a search bar for querying questions based on titles. Results are dynamically displayed with pagination and filtering based on question types.
-
Pagination The result page supports pagination with next and previous buttons, making it easier to browse through large datasets.



