Thank you for your interest in contributing to the Weather App! We welcome contributions from everyone. By participating in this project, you agree to abide by our Code of Conduct.
- 🐛 Bug Reports: Found a bug? Open an issue with detailed steps to reproduce it.
- ✨ Feature Requests: Have an idea for a new feature? Create an issue describing your proposal.
- 💻 Code Contributions: Help improve the codebase by submitting pull requests.
- 📖 Documentation: Improve documentation, add examples, or fix typos.
- 🎨 Design: Suggest UI/UX improvements or create new weather icons.
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/your-username/Weather-App.git cd Weather-App - Install dependencies (if using the development server):
npm install
- Set up environment variables:
cp .env.example .env # Add your OpenWeather API key to .env - Start the development server:
npm start # or node server.js
-
Create a feature branch:
git checkout -b feature/your-feature-name
-
Make your changes following our coding standards
-
Test your changes:
- Open the app in your browser
- Test different weather conditions
- Verify responsive design on mobile devices
- Check console for any errors
-
Run linting (if available):
npm run lint
-
Commit your changes:
git add . git commit -m "feat: add your feature description"
-
Push to your fork:
git push origin feature/your-feature-name
-
Create a Pull Request on GitHub
- Use modern ES6+ syntax
- Follow the existing code style
- Add comments for complex logic
- Use meaningful variable and function names
- Handle errors appropriately
- Use consistent naming conventions
- Follow BEM methodology where applicable
- Ensure responsive design
- Optimize for performance
- Use semantic HTML elements
- Ensure accessibility (alt text, ARIA labels)
- Keep markup clean and organized
Follow conventional commit format:
feat:- New featuresfix:- Bug fixesdocs:- Documentation changesstyle:- Code style changes (formatting, etc.)refactor:- Code refactoringtest:- Adding or updating testschore:- Maintenance tasks
Examples:
feat: add wind speed unit conversionfix: correct timezone calculation for local timedocs: update API setup instructions
- Title: Use a clear, descriptive title
- Description: Explain what changes you made and why
- Screenshots: Include screenshots for UI changes
- Testing: Describe how you tested your changes
- Breaking Changes: Mention any breaking changes
When reporting bugs, please include:
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Browser and version
- Screenshots if applicable
- Console errors if any
For feature requests, please include:
- Use case: What problem does this solve?
- Proposed solution: How should it work?
- Alternatives: Have you considered other approaches?
By contributing to this project, you agree that your contributions will be licensed under the same license as the project (MIT License).
If you have questions about contributing, feel free to:
- Check existing issues and discussions
- Start a new discussion
- Contact the maintainers
Thank you for contributing to Weather App! 🌦️