Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kawodyaarachchige/green_shadow_backend

A Spring Boot API to manage crop data, resources, and operation logs for efficient farm management, helping track crops, resources, and activities on the farm
https://github.com/kawodyaarachchige/green_shadow_backend

hibernate jpa-repository jwt mysql spring-boot spring-mvc spring-security

Last synced: about 1 month ago
JSON representation

A Spring Boot API to manage crop data, resources, and operation logs for efficient farm management, helping track crops, resources, and activities on the farm

Awesome Lists containing this project

README

        

## Crop Monitoring System Backend - Green Shadow

### API Documentation
[View API Documentation](https://documenter.getpostman.com/view/36189302/2sAYBbc8KB)

### Frontend Repository
[Crop Monitoring System Frontend](https://github.com/kawodyaarachchige/Green_shadow_frontend.git)

---

### Description
This project is a **Crop Monitoring System Backend** built using **Java Spring Boot**, with **MySQL** as the database and **Hibernate** as the ORM framework. The application provides **role-based access control (RBAC)** for roles such as `ADMINISTRATIVE`, `MANAGER`, and `SCIENTIST`. It uses **JWT-based authentication** for secure login and token management. The system ensures dynamic communication between frontend and backend using **AJAX/Fetch API**. Logging and efficient query handling with Hibernate JPQL ensure high performance and maintainability.

---

### Tech Stack
- **Java-Spring Boot**: Simplifies enterprise application development with minimal configuration.
- **Hibernate**: Provides easy-to-use ORM for seamless database interactions.
- **MySQL**: Reliable RDBMS for efficient data storage.
- **AJAX/Fetch API**: Facilitates dynamic content updates without reloading pages.
- **JWT**: Ensures secure authentication and authorization with token-based mechanisms.

---

### Features
- **Role-Based Access Control**: Granular access permissions for different user roles.
- **JWT Authentication**: Secure sign-in, sign-up, and token refresh support.
- **Hibernate ORM**: Simplifies database management and optimizes query execution with JPQL.
- **AJAX Integration**: Enables a smooth and responsive user experience.
- **Comprehensive Logging**: Tracks system activity with INFO, DEBUG, WARN, and ERROR levels.

---

### Role Permissions

- **MANAGER**: Has full CRUD (Create, Read, Update, Delete) access to all system entities.
- **ADMINISTRATOR**: Limited to read-only access for crop, field, and log-related data.
- **SCIENTIST**: Restricted from modifying staff, vehicle, and equipment records.

---

### License

This project is released under the [MIT License](LICENSE).