Thank you for your interest in contributing to GrowCraft! We're excited to have you join our community of developers working to help businesses grow online while providing students with hands-on experience.
🏆 GrowCraft is part of GirlScript Summer of Code 2025 (GSSoC'25)
We especially welcome contributions from GSSoC participants!
- Code of Conduct
- Getting Started
- How to Contribute
- Development Setup
- Contribution Guidelines
- Issue Guidelines
- Pull Request Guidelines
- Community
Please read and follow our Code of Conduct to ensure a welcoming environment for all contributors.
Before you begin, ensure you have:
- A modern web browser (Chrome, Firefox, Safari, Edge)
- Basic knowledge of HTML, CSS, JavaScript
- Git installed on your machine
- (Optional) XAMPP/WAMP for PHP development
- A GitHub account
If you're new to open source:
- Star ⭐ this repository
- Join our Discord community
- Look for issues labeled
good first issueorbeginner-friendly - Read through this contributing guide completely
- Find an Issue: Look for issues labeled
GSSoCorgood first issue - Comment: Express your interest by commenting on the issue
- Wait for Assignment: A maintainer will assign the issue to you
- Work on It: Start working only after assignment
- Submit PR: Follow our PR guidelines when submitting
- 🐛 Bug Fixes: Help us squash bugs
- ✨ New Features: Add new functionality
- 📚 Documentation: Improve our docs
- 🎨 UI/UX Improvements: Enhance user experience
- 🧪 Testing: Add or improve tests
- ♿ Accessibility: Make the platform more accessible
- 🌐 Internationalization: Add language support
# Fork the repository on GitHub, then clone your fork
git clone https://github.com/YOUR_USERNAME/GrowCraft.git
cd GrowCraftgit remote add upstream https://github.com/gyanshankar1708/GrowCraft.git- Open
index.htmlin your browser to view the website - Make changes to HTML, CSS, or JavaScript files as needed
If working on contact form or backend features:
# Install XAMPP/WAMP
# Place project in htdocs folder
# Import database_schema.sql into MySQL
# Update configuration in contact-handler.phpgit fetch upstream
git checkout main
git merge upstream/main
git push origin main- Check existing issues and PRs to avoid duplication
- For major changes, create an issue first to discuss
- Ensure your contribution aligns with project goals
- Test your changes thoroughly
- Assignment Required: Only work on assigned issues
- Communication: Keep maintainers updated on progress
- Deadline: Complete assigned work within reasonable time
- Help: Don't hesitate to ask for help in comments or Discord
When creating a new issue:
**Description:**
Clear description of the bug/feature
**Steps to Reproduce:** (for bugs)
1. Go to...
2. Click on...
3. See error...
**Expected Behavior:**
What should happen
**Screenshots:**
If applicable, add screenshots
**Environment:**
- Browser: [e.g., Chrome 91]
- OS: [e.g., Windows 10]
- Device: [e.g., Desktop]bug- Something isn't workingenhancement- New feature or improvementgood first issue- Good for newcomersGSSoC- GSSoC'25 specific issueshelp wanted- Extra attention neededdocumentation- Documentation improvements
-
Branch Naming: Use descriptive names
git checkout -b feature/add-new-service git checkout -b fix/contact-form-validation git checkout -b docs/update-readme
-
Commit Messages: Follow conventional commits
feat: add new blog posting functionality fix: resolve contact form validation issue docs: update installation instructions style: improve responsive design for mobile -
PR Template: Fill out the PR template completely
Before submitting, ensure:
- Code follows project coding standards
- Changes are tested and work as expected
- No console errors in browser developer tools
- Responsive design works on different screen sizes
- Documentation updated if necessary
- Commit messages are clear and descriptive
- PR description explains what and why
- Automatic Checks: Ensure all checks pass
- Code Review: Maintainers will review your code
- Feedback: Address any requested changes
- Approval: PR will be merged once approved
- 💬 Discord: Join our Discord server
- 🐛 Issues: Create an issue for bugs or questions
- 📧 Contact: Reach out to maintainers
- Gyanshankar Singh - @gyanshankar1708 (Project Admin)
- Khabab Akhtar - @Khababakhtar20 (Mentor)
- Abdullah Jameel - @abdullahxyz85 (Mentor)
- Ayush Kashyap - @ayushkashyap402 (Mentor)
Contributors will be:
- Added to our contributors wall
- Mentioned in release notes
- Eligible for GSSoC'25 certificates and rewards
- Part of our growing community
If you have any questions not covered in this guide:
- Check existing issues and discussions
- Join our Discord community
- Create a new issue with the
questionlabel
Thank you for contributing to GrowCraft! Together, we're building something amazing! 🚀
Happy Contributing! 🎯