LittleGroot is a farm management system developed in Java. It is designed to streamline the process of managing a farm, from tracking finances to monitoring crop growth. It is developed as an assignment of the module "Object-oriented programming with Java" at NIBM Kandy Innovation Center.
- Features Overview
- System Workflow
- Database Setup
- Development Methodology
- Design
- Team members
- License
- Note on Commits
- Dashboard with an overview of the entire farm
- Get insights on field health with graphs and charts
- Track finances
- Manage inventory
- Manage tasks
- Add measured field metrics such as Soil pH, Soil moisture, and Light intensity
- Add employees (Only for Managers)
- Reset passwords with security questions
- Change password
- "Finance" and "Employees" are only visible to Managers (Work in progress)
- Get insights on fields separately
- Authorization: An employee must be registered by a higher authority to gain access to the system. There is no sign-up page, as this process is handled internally.
- During the sign-in process, the application validates the login information by checking with the MySQL database.
- If it is the user's first time logging in, they will be directed to a page where they are asked to add security questions. (Work in progress)
- Upon successful login, the application creates a User object and stores important details about the current user in its attributes. This helps reduce the number of database connections.
- Based on the logged-in user's role, the application determines the class of the object to be created. If the user is a Manager, the object is created from the Manager subclass; otherwise, it is created in the User class. This use of inheritance enables the implementation of user type restrictions.
- Logging out can be done via the Settings panel.
- Open MySQL Workbench and connect to your local MySQL server.
- In the Navigator panel on the left, click on “Data Import/Restore” under the “Management” section.
- Choose the option “Import from Self-Contained File” and select this .sql file.
- Click on “Start Import” to start the import process. This will recreate the database on your local MySQL server. Remember to replace the database connection details in the Java project with your local MySQL server details.
This project was developed using the Waterfall methodology. The requirement specification document can be found here.
The design for this project was created using Figma. The wireframe can be found here. The High-Fidelity Mockup can be found here
This project is licensed under the GNU General Public License v3.0 - see the LICENSE.md file for details
You may notice that most of the commits in this project were made by a single team member. This is not indicative of the distribution of work within our team. However, as some team members were not familiar with Git, their contributions were shared via WhatsApp and then added to the repository by a team member who is comfortable with Git. We are working on improving our Git skills to ensure a more accurate representation of our team's work in future projects.