"I am an Indian farmer" is a Maven-based Java project that aims to assist farmers in managing their fields effectively. This project allows registered farmers to log in to their accounts and access information about the devices and equipment required for their fields. It also provides up-to-date information about the latest agricultural technology and methods from around the world and updates farmers on government schemes and their eligibility. The project can be accessed from anywhere in the world, and its primary goal is to support and uplift Indian farmers.
The system should have a 2-core processor with a speed of 2 GHz or higher, a minimum of 4 GB RAM, and at least 10 GB of free hard drive space. Java JDK should be downloaded and installed.
- Spring Tool Suite
- MySQL driver
- MySQL database
- Apache Tomcat
- Postman
Spring Tool Suiteis used to write Java code, and MySQL driver is used to connect with the MySQL database. Apache Tomcat is required to deploy the web server, and Postman is used to test the APIs. AWS and Freenom accounts are needed for cloud deployment and domain name provisioning.
- The user needs to sign up to access the system.
- After logging in, the user can check the necessary devices and equipment for their fields, along with the estimated cost.
- The user can also view the latest farming technologies and methods worldwide and the eligibility for government schemes.
- The user can logout from the system.
- If anything goes wrong, an error page will be displayed.
- The admin has to sign in to access the system.
- After logging in, the admin can manage the user data and equipment data.
- The admin can also view the user list and their equipment requirements.
- The admin can logout from the system.
- If anything goes wrong, an error page will be displayed.
The database for the project includes three tables:
Tables | Columns |
---|---|
User | id, username, password, email, contact_no, city, state, pin_code. |
Admin | id, username, password,email. |
Equipment | id, name, cost, description, availability. |
The technologies used in this project
The project uses the following technologies:
- HTML, CSS, and JavaScript for web development
- Spring Boot and Spring MVC for the backend
- Apache Tomcat as the web server
- Postman for API testing
- AWS and Freenom are used for cloud deployment and domain name provisioning.
- The Basic module contains the home, sign-in, sign-up, and about pages. π
- The Separation module contains the user and admin pages. π
- The Functionality module contains the Admin CRUD Operations and User(Estimates and Eligibility). π
- The Fall module contains the logout and error pages. π
scr directory contains all of the source material for building the project.
- CreateUser
- AdminLogin
- UserLogin
- Logout
Testing is a crucial part of software development. JUnit is used for unit testing, and Postman is used for API testing. JUnit testing is useful for testing individual units of code, whereas Postman is used for testing the APIs.
- Users
cannot
communicate with the admin in this project.
The project could also be expanded
Integrate a chatbot for communication between users and the admin.
Improve the project's performance and security.
Additionally, the project could be integrated with social media platforms to increase user engagement.