Skip to content

Latest commit

 

History

History
153 lines (116 loc) · 5.6 KB

Learn.md

File metadata and controls

153 lines (116 loc) · 5.6 KB

Learn.md

Table of Contents

  1. Introduction
  2. Tech Stack
  3. Contributing
  4. Setting Up on your machine
  5. Resources for Beginners
  6. Documentation
  7. Code Reviews
  8. Feature Requests
  9. Spreading the Word

Introduction 🖥️

AgroTech AI platform is a comprehensive web-based tool where users can access various machine learning models for making accurate predictions related to agriculture. It offers solutions for crop management, soil health assessment, pest control, and more.

Tech Stack 🗃️

The project is built using the following technologies:

  • React
  • Tailwind
  • python - Flask
  • Node
  • MongoDB
  • Express
  • Machine Learning
  • Deep Learning

Contributing 📝

Raise and issue; Get assigned and then work on fixing the issue. We welcome contributions to AgroTech AI! Follow these steps to contribute:

  1. Fork the Repository: Create your own copy of the repository on your GitHub account. image

  2. Clone the Repository : Clone the repository for making commits.

    git clone https://github.com/manikumarreddyu/AgroTech-AI.git

image

  1. Create a New Branch for your feature or bug fix: Make a separate branch to work on specific features or fixes and switch to the correct branch.
git checkout -b <new-branch-name>
  1. Make Changes and commit them: Implement your changes and save them with a descriptive commit message.
git add .
git commit -m "Describe your changes"
  1. Push Your Changes to your fork: Upload your committed changes to your GitHub fork.
    git push origin <branch_name>
  2. Create a Pull Request ✅: Propose your changes to be merged into the original repository.

image

Development Workflow

  • Always work on a new branch for each issue or feature.
  • Keep your branch up to date with the main repository's master branch.
  • Write clear and descriptive commit messages.
  • Test your changes thoroughly before submitting a pull request.

Issue Report Process

  1. Go to the project's issues section.
  2. Select the appropriate template for your issue.
  3. Provide a detailed description of the issue.
  4. Wait for the issue to be assigned before starting to work on it.

Pull Request Process 🚀

  1. Ensure that you have self reviewed your code.
  2. Make sure you have added the proper description for the functionality of the code.
  3. I have commented my code, particularly in hard-to-understand areas.
  4. Add screenshot it help in review.
  5. Submit your PR by giving the necesarry information in PR template and hang tight we will review it really soon.

Setting Up on your machine ⚙️

  1. Go to the backend folder and create a .env file

    DATABASE_URL="Mongodb Connection String here"
    JWT_SECRET="secret"
    PORT=3001
    
  2. Run the following commands in the backend folder

    npm install
    npm run build
    npm run dev
    

    The npm run build cmd will handle the Prisma migrations, and also build the frontend folder which will be served by the express server.

    Possible Problems:

    • Prisma may give error for MongoDB replica set, in such case use Mongodb atlas for the database instead of the local database or start a Mongo docker container with the replica set.
  3. In case you are modifying the frontend and you want hot module reloading, then run the following commands in the frontend directory

    npm install
    npm run dev
    

    Also, set the default base URL of the backend (don't push this to GitHub) or simply uncomment the following: https://github.com/VaibhavArora314/StyleShare/blob/ffb31d5bd3f68fbd76b300a736d56c2a0f1f77ac/frontend/src/App.tsx#L17-L18

Resources for Beginners 📚

Basics of Git and GitHub 📂

📍Documentation

  • Document any significant changes or additions to the codebase.
  • Provide clear explanations of the functionality, usage, and any relevant considerations.

Code Reviews 🔎

  • Be open to feedback and constructive criticism from other contributors.
  • Participate in code reviews by reviewing and providing feedback.

Feature Requests 🔥

  • Suggest new features or improvements that would enhance the project.

Spreading the Word 👐

  • Share your experience and the project with others.
  • Spread the word about the project on social media, developer forums, or any relevant community platforms.

Thank you for contributing to College.ai! Together, we can make a significant impact. Happy coding! 🚀 Don't forget to ⭐ the repository!