Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/faizan35/quiz-builder
Quiz Creating MERN Web App
https://github.com/faizan35/quiz-builder
Last synced: about 1 month ago
JSON representation
Quiz Creating MERN Web App
- Host: GitHub
- URL: https://github.com/faizan35/quiz-builder
- Owner: faizan35
- Created: 2023-11-28T20:07:40.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-04T14:24:16.000Z (12 months ago)
- Last Synced: 2024-01-04T15:34:30.191Z (12 months ago)
- Language: JavaScript
- Homepage:
- Size: 1.2 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MERN Quiz Web App
This is a full-stack MERN (MongoDB, Express.js, React.js, Node.js) application for creating and taking quizzes.
![homepage](./client/src/assets/images/homepage.png)
## Table of Contents
- [MERN Quiz Web App](#mern-quiz-web-app)
- [Table of Contents](#table-of-contents)
- [Overview](#overview)
- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Folder Structure](#folder-structure)
- [Backend](#backend)
- [Frontend](#frontend)
- [Environment Variables](#environment-variables)
- [Take a Demo](#take-a-demo)
- [Contributing](#contributing)
- [License](#license)## Overview
This web application allows users to register, create quizzes, and take quizzes. It includes user authentication, CRUD operations for quizzes, and result tracking.
## Features
- User Registration and Authentication
- Quiz Creation, Editing, and Deletion
- User Dashboard with Quiz Results
- Report Card for Detailed Results
- Deployment to GitHub Pages## Installation
1. Clone the repository:
```bash
git clone
```2. Install dependencies:
```bash
cd Quiz-Builder
npm install
```## Usage
1. Start the server & client together:
```bash
npm run start:both
```2. Access the application at [http://localhost:3000](http://localhost:3000).
## Folder Structure
The project is structured into server and client folders. The server handles backend logic, and the client contains the React frontend.
## Backend
- **Routes:** Located in `server/routes`, these files define the API routes.
- **Controllers:** Located in `server/controllers`, these files handle the logic for each route.
- **Models:** Located in `server/models`, these files define Mongoose schemas.## Frontend
- **Components:** Located in `client/src/components`, these files define React components.
- **Redux:** State management using Redux is implemented in `client/src/redux`.## Environment Variables
- Create a `.env` file in the `server` directory with the following content:
```env
MONGO_URI=mongodb://127.0.0.1:27017/QuizApp
JWT_SECRET=
```- [Click here](./server/.env) to create `.env` file in the `server` directory.
## Take a Demo
To create `Take a Demo` page to work you have to add Demo data to the database from `demoQuiz-Schema.json` located at `client\src\assets\demo Quiz+users\demoQuiz-Schema.json`.
## Contributing
Feel free to contribute to this project. Create an issue or submit a pull request.
## License
This project is licensed under the [ISC License](LICENSE).