Thank you for considering contributing to KisanSetu! By contributing, you’re helping to create a robust and innovative platform that connects farmers and buyers effectively. This document outlines the process and guidelines for contributing to the project.
If you encounter any bugs, have feature suggestions, or want to report inconsistencies:
- Check existing issues to avoid duplicates.
- If the issue hasn’t been reported, create a new one.
- Use clear and concise language.
- Include steps to reproduce (if applicable).
- Add screenshots or logs to help us understand better.
Have an idea to enhance KisanSetu?
- Open a new issue and select the “Feature Request” template.
- Explain the feature, its benefits, and how it aligns with the platform’s goals.
You can contribute by fixing bugs, implementing features, or improving documentation. Follow these steps:
# Fork the repository on GitHub and clone it locally
$ git clone https://github.com/<your-username>/kisansetu.git
$ cd kisansetu
-
Ensure you have the prerequisites installed:
- Node.js and npm
- Truffle framework
- Ganache CLI
- Firebase project setup
- Docker (for containerized development)
-
Install dependencies:
$ npm install
- Start Ganache for local blockchain testing:
$ ganache-cli
- Run the development server:
$ npm start
- Access the application at http://localhost:5000.
- Create a new branch:
$ git checkout -b feature/<YourFeature>
-
Make your changes, keeping the following in mind:
- Follow the code style used in the project.
- Write clear, concise, and modular code.
- Include comments where necessary.
-
Test your changes:
$ truffle test --config truffle-config.cjs
$ git add .
$ git commit -m "Add <description of your change>"
$ git push origin feature/<YourFeature>
- Navigate to your fork on GitHub.
- Click the Pull Request button.
- Ensure your branch is up-to-date with the main branch before submitting.
- Add a clear title and description for your pull request.
By participating in this project, you agree to abide by our Code of Conduct.
Familiarize yourself with the project’s structure:
- Frontend:
- HTML, CSS, JavaScript
- Backend:
- Firebase (Authentication and Firestore)
- Blockchain:
- Ethereum smart contracts (Solidity)
- Docker:
- Containerized deployment
Ensure your changes don’t break existing functionality by writing and running tests:
- Unit Tests: For individual components and smart contracts.
- Integration Tests: To verify end-to-end workflows.
Run all tests before submitting a pull request:
$ npm test
$ truffle test --config truffle-config.cjs
Feel free to ask questions or seek help by opening a discussion on the GitHub repository or joining the project’s communication channels (if available).
This project is licensed under the MIT License.
Thank you for contributing to KisanSetu! Together, we can make a meaningful impact on the agricultural sector.