Files
miracles_in_motion/CONTRIBUTING.md

190 lines
5.0 KiB
Markdown
Raw Normal View History

# Contributing to Miracles In Motion Website
Thank you for your interest in contributing to the Miracles In Motion website! This document provides guidelines for contributing to our project.
## Code of Conduct
We are committed to providing a welcoming and inspiring community for all. Please read and follow our Code of Conduct:
- Be respectful and inclusive
- Focus on what is best for the community
- Show empathy towards other community members
- Be collaborative
- Gracefully accept constructive feedback
## How to Contribute
### Reporting Issues
If you find a bug or have a suggestion for improvement:
1. Check if the issue already exists in our [GitHub Issues](https://github.com/Miracles-In-Motion/public-web/issues)
2. If not, create a new issue with:
- Clear, descriptive title
- Detailed description of the issue or suggestion
- Steps to reproduce (for bugs)
- Expected vs actual behavior
- Screenshots if applicable
- Browser and device information
### Contributing Code
1. **Fork the repository**
```bash
git clone https://github.com/Miracles-In-Motion/public-web.git
cd public-web
```
2. **Create a feature branch**
```bash
git checkout -b feature/your-feature-name
```
3. **Make your changes**
- Follow our coding standards (see below)
- Test your changes thoroughly
- Update documentation if needed
4. **Commit your changes**
```bash
git add .
git commit -m "feat: add new donation tracking feature"
```
5. **Push and create a Pull Request**
```bash
git push origin feature/your-feature-name
```
## Coding Standards
### HTML/CSS
- Use semantic HTML5 elements
- Follow accessibility guidelines (WCAG 2.1 AA)
- Use consistent indentation (2 spaces)
- Write meaningful class names
- Optimize for mobile-first responsive design
### JavaScript/React
- Use ES6+ features consistently
- Follow React best practices and hooks patterns
- Write descriptive variable and function names
- Add comments for complex logic
- Use consistent formatting (Prettier recommended)
### Content Guidelines
- Use inclusive, accessible language
- Maintain a compassionate, professional tone
- Ensure all content is factually accurate
- Include alt text for all images
- Keep content concise and scannable
## Testing
Before submitting a PR, please ensure:
- [ ] Website loads correctly on desktop and mobile
- [ ] All forms work properly
- [ ] Navigation functions correctly
- [ ] No console errors
- [ ] Content is accessible via screen readers
- [ ] Images have appropriate alt text
- [ ] Links work correctly
### Browser Testing
Please test your changes in:
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- Mobile browsers (iOS Safari, Chrome Mobile)
## Accessibility
We strive to make our website accessible to everyone:
- Use semantic HTML
- Provide alt text for images
- Ensure proper color contrast
- Support keyboard navigation
- Test with screen readers
- Use ARIA labels when appropriate
## Performance
Optimize for fast loading:
- Compress images
- Minimize CSS/JS
- Use appropriate image formats (WebP when possible)
- Lazy load images below the fold
- Minimize HTTP requests
## Content Updates
For content changes:
### Donation Information
- Verify all donation links and amounts
- Test payment processing in sandbox mode
- Update impact statistics with current data
- Ensure EIN and legal information is current
### Program Information
- Work with program staff to verify accuracy
- Update statistics and beneficiary counts
- Include current testimonials and stories
- Maintain privacy of beneficiaries
### Legal Documents
- Have legal team review all policy changes
- Update effective dates
- Ensure compliance with state regulations
- Maintain transparency requirements
## Deployment
Our deployment process:
1. **Development**: Test locally with `npm run dev`
2. **Staging**: Deploy to staging environment for review
3. **Production**: Deploy to live site after approval
### Pre-deployment Checklist
- [ ] Content accuracy verified
- [ ] Links tested
- [ ] Forms tested
- [ ] Mobile responsiveness checked
- [ ] Accessibility tested
- [ ] Performance optimized
- [ ] Legal compliance confirmed
## Getting Help
If you need help:
- Check our [documentation](README.md)
- Review existing issues and PRs
- Contact the web team: web@mim4u.org
- Join our Slack channel: #website-dev
## Recognition
Contributors will be recognized:
- In our annual report (with permission)
- On our volunteer page
- In release notes for significant contributions
## License
By contributing, you agree that your contributions will be licensed under the same license as the project (MIT License).
## Questions?
Feel free to reach out:
- Email: web@mim4u.org
- GitHub Issues: [Create an issue](https://github.com/Miracles-In-Motion/public-web/issues/new)
Thank you for helping us create a better experience for our community! 💙