https://github.com/ervg0203/questsearchusinggrpc
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.
https://github.com/ervg0203/questsearchusinggrpc
grpc grpc-web mongodb nodejs reactjs
Last synced: 2 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/ervg0203/questsearchusinggrpc
- Owner: ervg0203
- Created: 2025-01-26T17:35:32.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-26T18:03:05.000Z (over 1 year ago)
- Last Synced: 2025-07-10T13:28:10.351Z (12 months ago)
- Topics: grpc, grpc-web, mongodb, nodejs, reactjs
- Language: JavaScript
- Homepage:
- Size: 220 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# QuestSearchUsingGRPC
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.
## Features
- **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.
---
## Technologies Used
- **Frontend**: React
- **Backend**: Node.js
- **Communication**: gRPC
- **Database**: MongoDB
- **API Documentation**: Protocol Buffers, gRPC-web
---
## Requirements
- **Node.js**: v14.0.0 or higher
- **MongoDB**: A running MongoDB instance
- **Docker**: Optional for local testing with gRPC
---
## Setup Instructions
### 1. Clone the Repository and Unzip the file
```bash
git clone https://github.com/ervg0203/QuestSearchUsingGRPC.git
cd QuestSearchUsingGRPC
```
### 2. Backend Setup (Node.js)
- Navigate to the backend directory and install dependencies:
#### For Node.js:
``` bash
cd backend
npm install
nodemon ./src/app.js
```
### 3. Frontend Setup (React)
- Navigate to the frontend directory and install dependencies:
```bash
cd frontend
npm install
npm start
```
### 4. Running the Project with Docker
To run the entire project using Docker, follow these steps:
1. Ensure you have Docker installed on your machine.
2. Build and start the container in the root folder:
```bash
docker build -t envoy-server .
docker run -d --name envoy-server -p 8000:8000 -p 6000:6000 envoy-server
```
### 5. Setting up MongoDB
- Make a MongoDB database name as questsearch and import the questions json file into the database and then you are good to go.
### 6. Enhancements & Unique Features
1. 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.
2. Pagination
The result page supports pagination with next and previous buttons, making it easier to browse through large datasets.
### 7. UI Images



