globalOCR, Document Classification & Text Extraction
A full-stack application for document processing and OCR, built with React, Node.js, and Python. The system consists of three main components: frontend, backend, and model server.

Document Processing System
Production URl:
https://frontend-client.c-058b7ff.kyma.ondemand.com/
Architecture
The application is containerized and deployed using Kubernetes, with the following components:
- Frontend: React application with Mantine UI
- Backend: Node.js/Express API server
- Model Server: Python-based OCR and document processing service
- MinIO: Object storage for document files
- PostgreSQL: Database for metadata and user information
Prerequisites
- Docker and Docker Compose
- Node.js 18+
- Python 3.11
- Kubernetes cluster (for production deployment)
Development Setup
Backend
cd backend
npm install
npm start
The backend server will start on port 3000.
Frontend
cd frontend
npm install
npm run dev
The frontend development server will start on port 5173.
Model Server
cd model_server
pip install -r requirements.txt
python main.py
The model server will start on port 8000.
Docker Development Environment
To run the entire stack locally using Docker Compose:
cd backend
docker-compose up
This will start:
- PostgreSQL database
- MinIO object storage
- Backend API server
Production Deployment
The application is configured for deployment on Kubernetes using Kyma. Each component has its own deployment configuration:
kubectl apply -f db_deployment.yaml
kubectl apply -f backend/deployment.yaml
kubectl apply -f frontend/deployment.yaml
kubectl apply -f model_server/deployment.yaml
Features
- User authentication and authorization
- Document upload and processing
- OCR text extraction
- Document classification
- Document metadata management
- Change tracking
- Administrative controls
Project Structure
.
├── backend/ # Node.js backend server
├── frontend/ # React frontend application
├── model_server/ # Python OCR/processing service
└── deployment files # Kubernetes deployment configurations
Environment Variables
The application requires various environment variables for configuration. These are managed through Kubernetes secrets:
backend-env: Backend and MinIO configurationfrontend-env: Frontend configuration
