41 lines
1.3 KiB
Markdown
41 lines
1.3 KiB
Markdown
|
|
# Report Detection Backend
|
||
|
|
|
||
|
|
Java-based backend system for automated report validation and comparison using OCR.
|
||
|
|
|
||
|
|
## Technology Stack
|
||
|
|
- **Core**: Java 8 (Spring Boot 2.7.18)
|
||
|
|
- **Security**: Sa-Token (RBAC, Session Management)
|
||
|
|
- **OCR Engine**: PaddleOCR (via DJL - Deep Java Library)
|
||
|
|
- **Database**: PostgreSQL (with Dynamic Datasource support)
|
||
|
|
- **Build Tool**: Maven
|
||
|
|
|
||
|
|
## Features
|
||
|
|
- **RBAC Implementation**: Multi-role support (ADMIN, AUDITOR, USER) with uppercase standardization.
|
||
|
|
- **Sa-Token Security**: Annotation-based permission checks and secure login.
|
||
|
|
- **Auditor Context Switch**: Specialized feature for Auditors to switch between institutional views.
|
||
|
|
- **PDF Processing**: Automatic conversion of PDF reports to images for OCR analysis.
|
||
|
|
- **Automated Verification**: Integration tests using H2 in-memory database.
|
||
|
|
|
||
|
|
## Getting Started
|
||
|
|
### Prerequisites
|
||
|
|
- JDK 8 or 17
|
||
|
|
- Maven 3.6+
|
||
|
|
- PostgreSQL (optional for local dev if using H2 profile)
|
||
|
|
|
||
|
|
### Run the Application
|
||
|
|
```bash
|
||
|
|
mvn clean package
|
||
|
|
java -jar target/report-detect-backend-1.0.0.jar
|
||
|
|
```
|
||
|
|
|
||
|
|
### Run Tests
|
||
|
|
```bash
|
||
|
|
mvn test -Dtest=SecurityRBACVerificationTest
|
||
|
|
```
|
||
|
|
|
||
|
|
## Security Configuration
|
||
|
|
Default accounts created on initialization:
|
||
|
|
- `admin` / `123456` (ADMIN)
|
||
|
|
- `auditor` / `123456` (AUDITOR)
|
||
|
|
- `user` / `123456` (USER)
|