Welcome to the FieldGuardian backend repository! This backend service powers a comprehensive crop monitoring system for Green Shadow (Pvt) Ltd. The platform allows efficient management of fields, crops, staff, vehicles, and equipment, ensuring high-quality production and streamlined operations.
Explore the project »
·
Report Bug
·
Request Feature
.
Table of Contents
Green Shadow (Pvt) Ltd. is a mid-scale farm specializing in root crops and cereals. The company operates at both national and international levels and is renowned for high-quality production. Due to recent growth, the management has decided to introduce a comprehensive system to manage their crops and other assets. The proposed project will focus on systemizing the following areas:
- Field: Represents the land allocated for cultivation, with several fields designated for specific crop types.
- Crop: Refers to the type of crop grown in a particular field.
- Staff: Manages human resources as well as field and crop operations.
- Monitoring Log: Records observations and activities related to fields and crops.
- Vehicle: Manages vehicles assigned to staff for monitoring and supporting agricultural operations.
- Equipment: Oversees the agricultural equipment used in various operations.
- User Access: Users can log into the system as MANAGER, ADMINISTRATIVE, or SCIENTIST. No access is granted to other users; however, their data will be available in the respective tables.
- CRUD Operations: Principal users can perform CRUD (Create, Read, Update, Delete) operations on the relevant entities.
- Crop Data: Includes crop type, growth stage, total extent, and field observations.
- Non-Crop Data: Covers human resources, equipment, and vehicles.
- Data Analysis:
- Relational Analysis: Enables evaluation of relationships, such as driver and labor allocations to vehicles.
- Spatial and Temporal Analysis: Supports location-based and time-based analysis of resources.
- Permissions and Access Limitations:
- MANAGER: Full access to perform all CRUD operations.
- ADMINISTRATIVE: Cannot edit crop data, field data, or monitor logs related to crop details.
- SCIENTIST: Cannot modify staff, vehicle, or equipment data.
- Field Service: Manages fields allocated for cultivation.
- Crop Service: Handles information related to crop types and growth stages.
- Staff Service: Manages human resources and their assignments.
- MonitoringLog Service: Records and tracks crop-related observations and activities.
- Vehicle Service: Oversees vehicle management and allocations for staff and operations.
- Equipment Service: Manages agricultural equipment used in various operations.
- Auth Service: Handles user authentication and access control.
This project was developed using a range of modern backend technologies and frameworks to ensure robust performance, scalability, and secure data handling.
Follow these steps to set up the project locally and get it running on your machine. The instructions will guide you through the process of cloning the repository, installing dependencies, and configuring any required settings.
Before you begin, ensure you have the following installed on your system:
- Java 21 or higher: Ensure you have JDK installed and configured on your system to compile and run the application.
- MySQL: Ensure you have MySQL installed and running locally or remotely.
- Maven: Used for dependency management and building the project.
- Postman or any API client to test the API (optional, but recommended).
Follow these steps to install and set up the project on your local machine:
-
Clone the repository
git clone https://github.com/gayanukabulegoda/FieldGuardian-BACKEND.git
-
Change git remote URL to avoid accidental pushes to the base project
git remote set-url origin github_username/repo_name git remote -v # confirm the changes
Refer to the Postman API Documentation for detailed API endpoints and usage instructions.
Access the frontend repository on GitHub here.
Distributed under the MIT License. See License for more information.
© 2024 Gayanuka Bulegoda