QuizVibe is a modern, category-based quiz app that allows users to create, review, and participate in quizzes across a variety of topics. This app targets young audiences, offering a sleek and interactive experience with a vibrant purple and green theme.
- Create Quizzes: Users can create their own quizzes by providing questions, options, and answers.
- Review Process: Newly created quizzes require admin approval before they are published to ensure quality and relevance.
- Take Quizzes: Users can select and participate in quizzes from a diverse list of categories.
- Frontend: React.js, Tailwind CSS
- Backend: Node.js, Express.js
- Database: MongoDB
The project is organized into two main directories:
- frontend/: Contains the React.js client-side application.
- backend/: Contains the server-side code using Express.js, along with the MongoDB schema.
server.js
: Main file containing the configuration and setup for the Express server./models/quiz.js
: Defines the structure for quiz documents in MongoDB.
To set up QuizVibe locally, follow these steps:
-
Clone the repository:
git clone https://github.com/tawanda-profuse/general-knowledge.git
-
Install Backend Dependencies: Navigate to the
backend
directory and install dependencies:cd backend npm install
-
Configure Environment Variables for Backend: Create a
.env
file in thebackend
directory with the following:MONGO_URI=your_mongodb_connection_string
-
Install Frontend Dependencies: Navigate to the
frontend
directory and install dependencies:cd frontend npm install
-
Run the Application:
-
Backend: Start the Express server from the
backend
directory.cd backend npm start
-
Frontend: Start the React app from the
frontend
directory.cd frontend npm start
-
-
Access the Application:
- The React frontend should be running at
http://localhost:3000
. - The Express backend API should be running at
http://localhost:8000
.
- The React frontend should be running at
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the MIT License - see the LICENSE file for details.
Enjoy QuizVibe and happy quizzing!