https://github.com/masud2005/query-hive-client
QueryHive is a web app for submitting, managing, and recommending user queries on various products. Users can log in, manage their queries, and recommend others' queries, with Google-based authentication for a seamless experience.
https://github.com/masud2005/query-hive-client
css3 firebase html5 javascript mongodb react react-router tailwind
Last synced: 3 months ago
JSON representation
QueryHive is a web app for submitting, managing, and recommending user queries on various products. Users can log in, manage their queries, and recommend others' queries, with Google-based authentication for a seamless experience.
- Host: GitHub
- URL: https://github.com/masud2005/query-hive-client
- Owner: masud2005
- Created: 2024-12-30T14:22:36.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-05T13:17:37.000Z (over 1 year ago)
- Last Synced: 2025-02-05T14:24:05.344Z (over 1 year ago)
- Topics: css3, firebase, html5, javascript, mongodb, react, react-router, tailwind
- Language: JavaScript
- Homepage: https://ask-and-recommend.web.app/
- Size: 225 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# QueryHive
QueryHive is a web application designed to facilitate the submission, management, and recommendation of user-generated queries related to various products. Users can log in, create, update, and delete their queries, as well as recommend queries submitted by others. The app also features Google-based authentication for a seamless user experience.
---
## Purpose
The purpose of QueryHive is to:
- Enable users to voice their concerns and raise queries about specific products.
- Provide a platform for community-driven recommendations on queries.
- Enhance user experience with modern authentication and secure API interactions.
---
## Website Preview
## Live URL
Visit the live application: [Query Hive](https://ask-and-recommend.web.app)
---
## Key Features
- **Authentication:**
- Email/Password-based registration and login.
- Google login for quick access.
- JWT-based secure API requests with HTTP-only cookies.
- **Query Management:**
- Create, update, and delete queries.
- View all queries or fetch specific queries by ID or email.
- Retrieve the 6 most recent queries.
- **Recommendations:**
- Recommend queries and track counts.
- Fetch all recommendations by query or user.
- Add and remove recommendations dynamically.
- **Protected Routes:**
- Routes secured using React context and private routes.
- **Responsive Design:**
- A responsive layout powered by Tailwind CSS and DaisyUI.
---
## Technologies Used
### Frontend:
- **React**: A JavaScript library for building user interfaces.
- **React Router Dom**: For navigation and routing.
- **Axios**: For API communication.
- **Framer Motion**: Animation library for enhancing UI transitions.
- **Tailwind CSS & DaisyUI**: Styling framework for fast and responsive design.
- **SweetAlert2**: For customizable alerts.
### Backend:
- **Node.js**: JavaScript runtime for the server-side application.
- **Express.js**: Web application framework.
- **MongoDB**: NoSQL database for data storage.
- **JWT**: For secure token-based authentication.
- **Cookie Parser**: Middleware to parse cookies.
### Firebase:
- Authentication with Email/Password and Google login.
---
## NPM Packages Used
- axios: For API requests.
- firebase: For authentication.
- framer-motion: For animations.
- react: For UI rendering.
- react-router-dom: For routing.
- react-helmet-async: For managing document head.
- react-icons: For icons.
- react-tooltip: For tooltips.
- sweetalert2: For alerts.
- swiper: For interactive sliders.
---
## Running QueryHive Locally
### Prerequisites:
- **Node.js** (version 14 or later) installed.
- **MongoDB** (either local or MongoDB Atlas).
- A **Firebase account** for authentication (Google login and Email/Password login).
## Installation
Step-by-step instructions to set up the project locally.
```bash
# Clone the repository
https://github.com/masud2005/query-hive-client.git
# Navigate to the project directory
cd query-hive-client
# Install dependencies
npm install