Thank you for your interest in contributing to the Wedding Invite Website! This document provides guidelines and instructions for contributing.
- Be respectful and considerate of others
- Welcome newcomers and help them learn
- Focus on constructive feedback
- Respect different viewpoints and experiences
If you find a bug, please open an issue with:
- A clear, descriptive title
- Steps to reproduce the issue
- Expected behavior vs actual behavior
- Screenshots if applicable
- Your environment (OS, Node version, browser)
Feature suggestions are welcome! Please open an issue with:
- A clear description of the feature
- Use cases and examples
- Why this feature would be useful
-
Fork the repository
git clone https://github.com/your-username/wedding-invite.git cd wedding-invite -
Create a branch
git checkout -b feature/your-feature-name
-
Make your changes
- Follow the existing code style
- Add comments for complex logic
- Update documentation if needed
- Test your changes locally
-
Commit your changes
git add . git commit -m "Add: description of your changes"
Use clear, descriptive commit messages:
Add: new feature descriptionFix: bug descriptionUpdate: what was updatedRefactor: what was refactored
-
Push to your fork
git push origin feature/your-feature-name
-
Open a Pull Request
- Provide a clear title and description
- Reference any related issues
- Include screenshots if UI changes were made
- Use consistent indentation (2 spaces)
- Follow React best practices
- Use meaningful variable and function names
- Keep components focused and reusable
- Add PropTypes or TypeScript types where applicable
wedding-invite/
├── src/
│ ├── components/ # React components
│ ├── images/ # Image assets
│ └── siteConfig.js # Main configuration file
├── netlify/
│ └── functions/ # Netlify serverless functions
├── public/ # Static files
└── screenshots/ # Screenshots for documentation
Before submitting a PR:
- Test your changes in multiple browsers
- Test on mobile devices (responsive design)
- Ensure no console errors
- Verify all features still work as expected
- Update README.md if adding new features
- Add comments to complex code
- Update SETUP_GUIDE.md if setup process changes
- Add screenshots for UI changes
- Check if the feature aligns with the project goals
- Ensure it's configurable via
siteConfig.js - Add feature flags if it should be optional
- Update documentation
- Add screenshots if it's a UI feature
All customization should be done through src/siteConfig.js. Avoid hardcoding values in components.
- Use Tailwind CSS utility classes
- Follow the Apple-inspired design system
- Ensure mobile responsiveness
- Maintain consistent spacing and typography
Feel free to open an issue for questions or clarifications. We're here to help!
Thank you for contributing! 🎉