Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ahmed-yasser-66/react-quizapp

A nice react quiz app !
https://github.com/ahmed-yasser-66/react-quizapp

context-api json-server reactjs usereducer-hook

Last synced: 16 days ago
JSON representation

A nice react quiz app !

Awesome Lists containing this project

README

        

# 🧠 React Quiz App

Welcome to the React Quiz App! This application is designed to help you test your knowledge on react js through an interactive quiz interface. Built with React :o, it leverages the Context API and the `useReducer` hook for state management, and uses JSON Server to simulate data fetching.

## ✨ Features

- 📈 **Score Tracking**: Keep track of your score as you progress through the quiz.
- ⏱️ **Timer**: Each question comes with a countdown timer to add a challenge.
- 🔄 **State Management**: Utilizes React's Context API and `useReducer` for efficient state management.
- 📡 **Data Simulation**: Uses JSON Server to simulate API calls for fetching quiz data.

## 🛠️ Technologies Used

- ⚛️ **React**: JavaScript library for building user interfaces.
- 🌐 **Context API**: For managing global state.
- 🔨 **useReducer Hook**: For complex state logic.
- 📄 **JSON Server**: To simulate a REST API.
- 💅 **CSS**: For styling the application.

## 🚀 Getting Started

Follow these steps to get a local copy of the project up and running.

### Prerequisites

Ensure you have the following installed on your machine:

- 🖥️ **Node.js**: [Download and install Node.js](https://nodejs.org/)
- 📦 **npm**: Comes with Node.js, but ensure it's up to date.

### Installation

1.**Clone the repository**:

```bash
git clone https://github.com/Ahmed-yasser-66/react-quizApp.git
cd react-quizApp
```

2 .**Install dependencies**:

```bash
npm install
```

3. **Set up JSON Server**:

Install JSON Server globally if you haven't already:

```bash
npm install -g json-server
```
4.**Start the JSON Server**:

```bash
json-server --watch data/db.json --port 8000
```

5.**Start the React application**:

```bash
npm start
```

The app should now be running at http://localhost:3000.

## Enjoy coding 👨‍💻