A dynamic web application for users to take quizzes on JavaScript topics, built with React, Apollo Client for GraphQL interactions, and MongoDB for data storage. This project demonstrates the use of modern web development tools and practices to create an interactive and user-friendly quiz platform.
- Dynamic Quiz Taking: Users can take timed quizzes with shuffled questions and answers.
- High Score Tracking: Scores are saved and displayed in a high score board.
- GraphQL API: Utilizes GraphQL for efficient data fetching and manipulation.
- Responsive Design: Crafted to provide a seamless experience on both desktop and mobile devices.
https://jsquiz-306434aa7ec8.herokuapp.com/
Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.
- Node.js
- npm
- MongoDB
- Clone the repository:
git clone https://github.com/kandekore/Javascript-Quiz.git- Install NPM packages for the server:
cd Javascript-Quiz/server
npm install- Install NPM packages for the client:
cd ../client
npm install- Set up your environment variables:
- Inside the
serverdirectory, create a.envfile to store your MongoDB URI and other configurations. - Inside the
clientdirectory, you might want to adjust theREACT_APP_API_URLin the.envfile to point to your GraphQL endpoint.
- Start the server:
cd ../server
npm start- In a new terminal, start the client:
cd ../client
npm startYour app should now be running on http://0.0.0.0:3000.
- React.js - The web framework used.
- Apollo Client - For interacting with GraphQL API.
- Express - Backend framework.
- MongoDB - Database used.
This project is licensed under the MIT License