This is a Spring Boot-based backend system. It provides RESTful APIs for managing crop , equipment , field , staff , user , vehicle , monitoring log and transactions. The project uses Spring Boot, JPA, Hibernate,Spring Security, and MySQL for database connectivity.
- Equipment Management
- Field Management
- Staff Management
- User Management
- Vehicle Management
- Monitoring Log Management
- Role-Based Access Control
- Token Generation
- Token Validation
- Token Refresh
- Spring Security Integration
- Custom Authentication Provider
- Secure Password Storage
- Profile Management
- Login Attempt Auditing
- Activity Logging
- Protected Endpoints
- Transaction Processing
- Exception Handling and Validation using Hibernate Validator
- JSON Response formatting
- Logs with logback
- Java Vesion: JDK 21
- Backend Framework: Spring Boot (v3.4.0)
- Database: MySQL
- ORM: JPA, Hibernate
- Server: Apache Tomcat
- Validation: Hibernate Validator
- Logger: Logback
- Entities: Representations for Crop , Email , Equipment , Field , Staff , User , Vehicle and Monitoring Log
- Data Transfer Objects (DTOs): Includes CropDTO, EmailDTO, EquipmentDTO , FieldDTO , StaffDTO , UserDTO , VehicleDTO and MoniterLogDTO
- Repositories: Interfaces for database operations.
- Services: Business logic for manage.
- Controllers: API endpoints for handle Requests.
- Utilities: Helper classes for tasks.
- Exceptions: Custom error handling mechanisms for specific scenarios
- Configuration: Application setup classes like application.properties,application-dev.properties
Data validation is enforced through Hibernate Validator annotations within the DTO classes, ensuring both data integrity and accuracy.
Logging is set up with Logback, capturing logs both in the console and in a dedicated file.
Custom exceptions are designed to address specific error situations, delivering clear and informative error messages to the client.
Prerequisites
- JDK 21
- MySQL server
- Maven
https://github.com/sasmithx/Green-Shadow.git
To view this project API Documentation
Refer to the Postman API Documentation for detailed API endpoints and usage instructions.
This project is licensed under the MIT License - see the MIT License file for details.
© 2024 Sasmith Manawadu