- Project Overview
- Features
- Technologies Used
- Installation
- Folder Structure
- API Endpoints
- Running the App
- Contributing
- License
The Quiz App is a full-stack web application that allows users to take quizzes on various topics. Users can view available quizzes, take them, and see their results. Administrators can create, update, and delete quizzes. The application is built using React for the front end and Node.js with Express for the back end.
- User authentication and authorization
- Create, read, update, and delete quizzes
- Take quizzes and see results
- Responsive design for mobile and desktop
- React
- Redux
- Axios
- React Router
- Node.js
- Express
- MongoDB (Mongoose)
- JWT for authentication
- Bcrypt for password hashing
- Docker for containerization
- Jest for testing
To run this project locally, follow these steps:
- Clone the repository:
git clone https://github.com/yourusername/quiz-app.git cd quiz-app
- Install dependencies for both the client and server:
cd frontend npm install cd ../backend npm install
- Set up environment variables. Create a .env file in the server directory and add the following:
MONGO_URI=your_mongodb_uri JWT_SECRET=your_jwt_secret
- Start the development servers:
npm start
quiz-app/
│
├── client/ # React front end
│ ├── public/
│ └── src/
│ ├── components/
│ ├── pages/
│ ├── redux/
│ ├── App.js
│ ├── index.js
│ └── ...
│
├── server/ # Node.js back end
│ ├── config/
│ ├── controllers/
│ ├── models/
│ ├── routes/
│ ├── app.js
│ └── server.js
│
├── .gitignore
├── README.md
└── package.json