Skip to content

A Spring Boot API to manage crop data, resources, and operational logs for efficient farm management.

License

Notifications You must be signed in to change notification settings

gayanukabulegoda/FieldGuardian-BACKEND

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


FieldGuardian Logo

FieldGuardian-BACKEND

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
  1. About The Project
  2. Getting Started
  3. API Documentation
  4. Frontend Repository
  5. License

About The Project

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.

Business Process of the Proposed System

  1. 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.
  2. CRUD Operations: Principal users can perform CRUD (Create, Read, Update, Delete) operations on the relevant entities.
  3. Crop Data: Includes crop type, growth stage, total extent, and field observations.
  4. Non-Crop Data: Covers human resources, equipment, and vehicles.
  5. 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.
  6. 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.

Main Services of the System

  • 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.

(back to top)

Built With

This project was developed using a range of modern backend technologies and frameworks to ensure robust performance, scalability, and secure data handling.

SPRING SPRING DATA JPA HIBERNATE MAVEN MySQL POSTMAN

(back to top)

Getting Started

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.

Prerequisites

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).

Installation

Follow these steps to install and set up the project on your local machine:

  1. Clone the repository

    git clone https://github.com/gayanukabulegoda/FieldGuardian-BACKEND.git
    
  2. 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

(back to top)

API Documentation

Refer to the Postman API Documentation for detailed API endpoints and usage instructions.

Frontend Repository

Access the frontend repository on GitHub here.

License

Distributed under the MIT License. See License for more information.

(back to top)


© 2024 Gayanuka Bulegoda