Farm Management System
FULL STACK DEV
4/2/20243 min read


VeauLand is a software designed to aid farmers in recording and monitoring their livestock from the moment they arrive on the farm until they are sold. It comprehensively documents key events and milestones throughout the life cycle of each cow or calf. The system's scope extends beyond calf management to include feed, equipment, employee management, as well as financial tracking and statistical analysis.
Assists farmers in documenting and monitoring livestock from arrival to sale
Captures important events and dates in the life of each cow or calf
Manages feed, equipment, employees, and financial tracking
Provides comprehensive statistics for informed decision-making
Context
Requirements Analysis
The project began with a comprehensive analysis of the requirements for a Farm Management System. This involved gathering input from stakeholders to understand their needs, challenges, and goals. Key requirements included crop management, livestock tracking, inventory management, financial tracking, and reporting functionalities.
Data Modelling
The next phase involved designing the database schema and creating a Class Diagram to represent the object-oriented model of the system.
Based on the database model, we proceeded to create the MySQL database. This involved defining tables, specifying data types, primary and foreign keys, and establishing relationships between tables. The database was designed to efficiently store and manage farm-related data, including information on crops, livestock, inventory, financial transactions, and user accounts.
Software Development
The frontend of the Farm Management System was developed using JavaFX, a modern and versatile framework for building rich client applications. We implemented intuitive user interfaces for data entry, visualization, and reporting, ensuring ease of use for farm managers and staff. The application's backend was developed in Java, with JDBC used for database connectivity.
Functional Needs and Actors
Administrator
Log in: Access the system with unique credentials.
Employees Management: Manage farm staff details and roles.
Vehicle & Equipment: Maintain records of farm vehicles and equipment.
Farm Work: Schedule and track farm-related tasks and activities.
Access to other users' interfaces: Ability to view and access interfaces of other user roles.
Calves Manager
Log in: Access the system with unique credentials.
Calves Handling: Record and manage calf-related activities and health information.
Calves Treatment: Document and track medical treatments administered to calves.
Calves Feeding: Monitor and manage feeding schedules and nutrition plans for calves.
Stock Manager
Log in: Access the system with unique credentials.
Orders Management: Create, track, and manage orders for farm supplies and inventory.
Clients & Supplies Management: Maintain client records and manage supplier relationships.
Sales Manager
Log in: Access the system with unique credentials.
Sales of Calves: Record and manage sales transactions for calves.
Financial Manager
Login: Access the system with unique credentials.
Purchase of Calves: Record and manage purchase transactions for calves.
Log in: Access the system with unique credentials.
Bills & Funding: Manage financial transactions, including bills and funding sources.
Non-Functional Needs
We acknowledge the importance of non-functional needs, and thus, the application's end goal must meet the following criteria:
Reliability: The application must consistently operate without errors and meet user requirements.
Error Handling: Error messages will be displayed as small windows to guide the user, ensuring clarity and ease of resolution.
Security: The application must uphold strict access privileges, ensuring that users only have access to the data and functionalities relevant to their roles. Security remains a paramount concern throughout development and deployment.
UML Digrams
Utilizing Unified Modeling Language (UML), we created various diagrams to visualize the system's structure and behavior. These included Use Case Diagrams to depict system interactions, Class Diagrams to illustrate class relationships and attributes, Sequence Diagrams to represent the flow of interactions between system components, and Activity Diagrams to model the workflow of specific processes.

