https://github.com/ayyush08/xquiz-it
Xquiz-it is an interactive digital quiz platform that allows users to take quizzes with multiple question types, get instant feedback on answers, and track their progress throughout. Xquiz-it aims to provide an engaging and educational experience for quiz takers.
https://github.com/ayyush08/xquiz-it
expressjs fullstack-development javascript jwt-authentication mern-stack mongodb nodejs quizapi reactjs redux-toolkit
Last synced: about 2 months ago
JSON representation
Xquiz-it is an interactive digital quiz platform that allows users to take quizzes with multiple question types, get instant feedback on answers, and track their progress throughout. Xquiz-it aims to provide an engaging and educational experience for quiz takers.
- Host: GitHub
- URL: https://github.com/ayyush08/xquiz-it
- Owner: ayyush08
- Created: 2024-10-24T03:20:11.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-07T12:34:39.000Z (over 1 year ago)
- Last Synced: 2025-01-12T08:38:52.758Z (over 1 year ago)
- Topics: expressjs, fullstack-development, javascript, jwt-authentication, mern-stack, mongodb, nodejs, quizapi, reactjs, redux-toolkit
- Language: JavaScript
- Homepage: https://xquiz-it.vercel.app
- Size: 361 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🎈 Xquiz-it - Digital Quiz Platform
**Xquiz-it** is an interactive digital quiz platform that allows users to take quizzes with multiple question types, get instant feedback on answers, and track their progress throughout. Xquiz-it aims to provide an engaging and educational experience for quiz takers.
## ⛓️💥Features
- **Interactive Quiz Interface**: Take quizzes with ease using a user-friendly interface.
- **Multiple Question Types**: Includes MCQs and True/False questions.
- **Real-time Feedback**: Get instant feedback after answering questions.
- **Progress Tracking**: Track your progress and see how well you’re doing as you go.
- **Secure Authentication**: User authentication using **JWT** for secure access to quiz data.
## ⚙️Tech Stack
- **Frontend**:
- React
- Redux
- React Router
- Axios
- Tailwind CSS
- **Backend**:
- Node.js
- Express
- MongoDB
- Mongoose
- **Authentication**:
- JWT (JSON Web Tokens)
- bcrypt.js (Password hashing)
- **Development Tools**:
- Nodemon (For auto-restarting the server)
- Dotenv (For managing environment variables)
## 🚀Installation
### 1. Clone the repository
```bash
git clone https://github.com/ayyush08/Xquiz-it.git
cd Xquiz-it
```
### 2. Install dependencies
#### Frontend(Client) dependencies:
```bash
cd client
npm install
```
#### Backend(Server) dependencies:
```bash
cd server
npm install
```
### 3. Set up environment variables
Create a `.env` file in the `server` directory and add the following environment variables:
```bash
PORT=Y0UR_PORT
MONGO_URI=YOUR_MONGODB_URI
ACCESS_TOKEN_SECRET=YOUR_ACCESS_TOKEN_SECRET
ACCESS_TOKEN_EXPIRY=YOUR_ACCESS_TOKEN_EXPIRY_TIME
REFRESH_TOKEN_SECRET=YOUR_REFRESH_TOKEN_SECRET
REFRESH_TOKEN_EXPIRY=YOUR_REFRESH_TOKEN_EXPIRY_TIME
CORS_ORIGIN=YOUR_CORS_ORIGIN - frontend URL
```
Add the following environment variables in the `client` directory:
```bash
VITE_QUIZ_API_KEY=YOUR_API_KEY from (quizapi.io)
VITE_SERVER_URL=YOUR_SERVER_URL
```
### 4. Run the application
#### Frontend(Client):
```bash
cd client
npm run dev
```
#### Backend(Server):
```bash
cd server
npm run dev
```
Go to `http://localhost:5173` in your browser to view the application.
## 👀Feedback
Any feedback or suggestions are welcome! Feel free to open an issue or reach out to me on [Twitter](https://twitter.com/Ayush29081).