Thank you for your interest in contributing to QuizMaster! We welcome all contributions, whether it's fixing bugs, improving documentation, adding new features, or optimizing the code.
I’m active on GitTalks, a Discord community for developers, where we share knowledge, collaborate on projects, and discuss the latest in tech. Join us to connect with like-minded individuals!
Here's how you can get started:
To start contributing, you need to set up the project on your local machine.
-
Fork the repository:
- Click the fork button at the top right of the repository page.
-
Clone the repository:
git clone https://github.com/your_username/repo_name
-
Navigate to the
quiz-maker
directory:cd quiz-maker
-
Install frontend dependencies:
npm i
-
Navigate to the
backend
directory:cd ../backend
-
Install backend dependencies:
npm i
-
In the
backend
directory, create a.env
file and add the following:PORT=5000 MONGO_URI=mongodb://127.0.0.1:27017/mern-quiz-app JWT_SECRET=secret_key EMAIL_USER=email_id EMAIL_PASSWORD=Your_email_password FRONTEND_URL=http://localhost:3000
- You can set up
EMAIL_USER
andEMAIL_PASSWORD
using Gmail API or leave it if you don't want to work on the email feature.
- You can set up
- In the
quiz-maker
subdirectory, create a.env
file and add the following:REACT_APP_BACKEND_URL=http://localhost:5000/api REACT_APP_FRONTEND_URL=http://localhost:3000
-
Backend:
- To start the backend server, run:
npm start
- For development mode, you can use:
npm run dev
- To start the backend server, run:
-
Frontend:
- Navigate to the
quiz-maker
subdirectory and start the frontend by running:npm start
- If you encounter infinite loading, try clearing your browser's local storage for
localhost:3000
.
- Navigate to the
Here are some areas where you can contribute:
- Documentation: Improve existing documentation or add new ones.
- UI Fixes: Resolve UI-related bugs or improve design elements.
- New Features: Add new features or views.
- Responsiveness: Make the app more responsive for various screen sizes.
- Backend Optimization: Fix bugs or optimize code in the backend.
- Propose Features: Propose a completely new feature for the app.
-
Find bugs or a new feature:
- Look for bugs or suggest new features you would like to implement.
-
Create an Issue:
- Open an issue describing the bug or feature. If approved, I will assign it to you.
-
Work on the Issue:
- Once assigned, start working on it and follow the project's code style.
-
Create a Pull Request (PR):
- Submit a detailed PR with an explanation of the changes. Attach images if possible.
Alternatively, if you prefer, you can work on the original branch and submit changes via a pull request.
If you're facing any issues or need assistance, feel free to:
- Open an issue: Create an issue in the repository for support.
- Contact me via email: For urgent issues, you can reach me at [[email protected]].
This should provide a clear and structured contribution guide, making it easier for others to contribute!