Thank you for your interest in contributing! This document provides guidelines for contributing to the project.
Be respectful, inclusive, and professional. All contributors are expected to follow the Code of Conduct.
-
Fork the repository
git clone https://github.com/abdulboyprogramming-arch/crypto-price-tracker.git cd crypto-price-tracker -
Create a feature branch
git checkout -b feature/your-feature-name
-
Set up your environment
- For web app: No setup needed, just open in browser
- For API:
pip install -r api-server/requirements.txt - For extension: Load in Chrome DevTools
-
Make your changes
- Write clean, readable code
- Add comments for complex logic
- Follow existing code style
-
Test thoroughly
- Follow TESTING_GUIDE.md
- Test all affected components
- Check for breaking changes
-
Commit with clear messages
git commit -m "feat: add amazing feature" -
Push to your branch
git push origin feature/your-feature-name
-
Create a Pull Request
- Describe what you changed and why
- Link any related issues
- Request reviews from maintainers
Use conventional commits:
feat:New featurefix:Bug fixdocs:Documentationstyle:Code style (no logic change)refactor:Code refactortest:Test caseschore:Maintenanceci:CI/CD changesperf:Performance improvementsecurity:Security fix
- Use ES6+ features
- 2-space indentation
- Use semicolons
- Use
constby default,letwhen needed - Avoid
var
- Follow PEP 8
- Use type hints
- 4-space indentation
- Document with docstrings
- Use flexbox/grid for layouts
- 2-space indentation
- Use CSS variables for theming
- Mobile-first approach
Before submitting a PR:
- Web app tested in Chrome, Firefox, Edge
- API endpoints tested with cURL/Postman
- Extension loads without errors
- No console errors in DevTools
- Responsive design tested on mobile
- Dark/light themes tested
- Offline mode tested (if applicable)
- Update README.md if you change features
- Add comments to complex code
- Update API docs if you change endpoints
- Keep CHANGELOG.md current
When reporting bugs, include:
- Clear description of the bug
- Steps to reproduce
- Expected vs actual behavior
- Browser/environment info
- Screenshots if applicable
- Console errors (if any)
For feature requests:
- Describe the desired feature
- Explain the use case
- Suggest implementation approach
- Consider backward compatibility
- At least one maintainer reviews the PR
- Changes requested? Update your branch
- Approved? PR gets merged
- Merged code auto-deploys
- Open an issue for discussion
- Email: adeeyoabdulrahman@gmail.com
- Check existing discussions first
Thank you for contributing! 🚀