Thank you for taking the time to contribute! Whether you are fixing a typo, adding notes, submitting a new mini-project, or optimizing backend code, every contribution helps make this learning resource better for everyone.
Please take a moment to review this guide to ensure a smooth collaboration process.
- Code of Conduct
- How You Can Contribute
- Getting Started
- Repository Conventions
- Git Commit Guidelines
- Pull Request Checklist
- Community & Contact
Please read the repository's Code of Conduct before participating. It explains the standards for respectful collaboration and how to report unacceptable behavior.
There are many ways you can contribute to this repository:
- Fix typos, grammatical errors, or formatting issues in notes and guides.
- Clarify complex explanations across HTML, CSS, JavaScript, React, Backend, SQL, etc.
- Add real-world analogies, code snippets, or diagrams.
- Submit clean, well-structured frontend projects (React, Vanilla JS, Tailwind CSS).
- Enhance UI/UX, responsive layouts, or accessibility (a11y) in existing projects.
- Fix bugs or broken API integrations in current mini-projects.
- Add practical backend exercises (Express.js, Node.js, REST APIs, GraphQL, WebSockets).
- Introduce database examples (MongoDB, PostgreSQL, SQLite, Prisma, Drizzle).
- Improve error handling, validation, or security practices in backend templates.
- Write automated unit tests (Jest, Vitest) for assignment solutions or projects.
- Improve build configurations, linting rules, or scripts.
Follow these steps to propose changes:
Click the Fork button at the top-right of the web-dev-for-all repository to create your own copy.
Clone your fork to your local machine:
git clone https://github.com/<your-username>/web-dev-for-all.git
cd web-dev-for-allCreate a descriptive feature or bugfix branch:
# For a new feature or project
git checkout -b feat/add-weather-app
# For a bug fix or typo
git checkout -b fix/react-meals-api-url
# For documentation updates
git checkout -b docs/update-sql-guideRemember that each runnable project in this repository is isolated in its own folder:
# Example: Navigating into a specific project
cd "Collection of mini-projects/Product-Listing-Interface"
npm install
npm run devTest your changes thoroughly before committing!
To keep this multi-topic repository clean, organized, and easy to maintain, please follow these guidelines:
- Isolation:
- Each project or application must remain self-contained within its own directory.
- Do not add project-specific dependencies to the repository root.
- Documentation:
- If you create a new application or service, include a dedicated
README.mdinside its folder detailing:- Project overview & features
- Tech stack
- Installation & run commands
- Environment variables (if applicable)
- API endpoints / usage instructions
- If you create a new application or service, include a dedicated
- Clean Diffs & Git Hygiene:
- Never commit
.envfiles containing sensitive secrets, credentials, or API keys. Always provide a.env.examplefile instead. - Never commit
node_modules/, build output (dist/,build/), coverage reports, or OS artifacts (.DS_Store,Thumbs.db). - Check
.gitignorebefore committing files.
- Never commit
- Code Quality:
- Write readable, descriptive variable and function names.
- Prefer modern JavaScript/TypeScript standards (ES Modules, async/await).
- Keep notes and documentation formatted with clean GitHub Flavored Markdown.
We recommend using clear and descriptive commit messages following the Conventional Commits format:
| Prefix | Usage | Example |
|---|---|---|
feat: |
A new project, route, or feature | feat: add search filter to quotes app |
fix: |
A bug fix | fix: resolve CORS issue in express backend |
docs: |
Documentation changes only | docs: add setup instructions to crud-notes-app |
style: |
Code style / formatting changes (no logic change) | style: format css with prettier |
refactor: |
Code refactoring without adding features or fixes | refactor: extract mongo connection into separate module |
test: |
Adding or updating tests | test: add unit tests for note creation endpoint |
chore: |
Maintenance, updates, dependencies | chore: update dependencies in react project |
Before submitting your pull request, please verify:
- My code follows the repository's structure and conventions.
- I have tested my changes locally to ensure existing functionality is not broken.
- Any new project includes a comprehensive local
README.md. - No unwanted files (e.g.
.env,node_modules, temporary files) are committed. - Commit messages are clear and descriptive.
- The Pull Request title and description clearly explain what changed and why.
- Push your branch to your GitHub fork:
git push origin feat/your-feature-name
- Navigate to the original web-dev-for-all repository on GitHub.
- Click the green Compare & pull request button.
- Fill out the PR template/description explaining:
- What changed
- Context or motivations
- How to test the change
- Submit the Pull Request! 🎉
Have questions, suggestions, or want to discuss an idea before submitting a PR?
- Open an issue on GitHub: Issues tab
- Connect with Abdul Rahman:
- GitHub: @abdulrdeveloper
- Website: abdulrdeveloper.me
Thank you for contributing to Web Dev for All! Happy Coding! ✨