Thank you for your interest in contributing to AgriCredit! We welcome contributions from the community to help improve our decentralized agricultural credit platform.
If you find a bug or have a feature request, please create an issue on GitHub. When reporting issues, please include:
- A clear title and description
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Screenshots if applicable
- Your environment (OS, browser, etc.)
- Node.js 18+
- npm or yarn
- Git
- Fork the repository
- Clone your fork:
git clone https://github.com/yourusername/agricredit.git - Install dependencies:
npm install - Create a feature branch:
git checkout -b feature/your-feature-name
- Make your changes
- Run tests:
npm test - Run linting:
npm run lint - Ensure your code follows our style guidelines
- Commit your changes:
git commit -m "Add your commit message" - Push to your fork:
git push origin feature/your-feature-name - Create a Pull Request
- Use TypeScript for all new code
- Follow the existing code style (Prettier and ESLint are configured)
- Write meaningful commit messages
- Add tests for new features
- Update documentation as needed
- Ensure your PR includes a clear description of the changes
- Reference any related issues
- Ensure all CI checks pass
- Request review from maintainers
- Address any feedback from reviewers
- Update README.md for significant changes
- Add JSDoc comments for new functions
- Update user guides if user-facing features change
AgriCredit follows a modular architecture with:
- Frontend: Next.js 14 with TypeScript
- State Management: Redux Toolkit with RTK Query
- Styling: Tailwind CSS with custom design system
- Internationalization: i18next
- Blockchain Integration: ethers.js and Web3
- Backend: Python FastAPI (in separate repository)
- Security First: All financial operations must be secure
- Accessibility: WCAG 2.1 AA compliance
- Performance: Optimized for mobile and low-bandwidth connections
- User Experience: Intuitive interface for farmers with varying tech literacy
- Scalability: Designed to handle growth in users and transactions
- Write unit tests for utilities and hooks
- Write integration tests for API calls
- Test on multiple browsers and devices
- Include accessibility testing
- Never commit sensitive data (API keys, private keys, etc.)
- Use environment variables for configuration
- Implement proper input validation
- Follow blockchain security best practices
- Check the documentation
- Join our Discord community
- Read the user guide
By contributing to AgriCredit, you agree that your contributions will be licensed under the same license as the project (MIT License).
Thank you for helping make AgriCredit better for farmers worldwide! 馃尵