LogoPortfolio
Home
Projects
Articles
Certificates
More
Contact
Back to Projects

globalOCR, Document Classification & Text Extraction

Live DemoGitHubView Code
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 configuration
  • frontend-env: Frontend configuration

About

Professional portfolio showcasing my work, articles, and achievements.

Quick Links

  • Projects
  • Articles
  • Certificates
  • Contact

Connect

GitHubGitHubLinkedInMediumMedium

Subscribe

© 2026 Portfolio. All rights reserved.