Skip to content

compressionmonkey/Image-recognition-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧾 Tshong AI - Intelligent Receipt Recognition System

A production-ready, multi-bank receipt processing system with real-time OCR, intelligent data extraction, and seamless AWS integration.

License: MIT Node.js AWS Google Cloud

🌟 Conference Highlights

  • Multi-Bank Support: Intelligent recognition for 7+ banks (BNB, BOB, PNB, goBOB, DK, TBank, BDBL)
  • Real-time OCR: Google Cloud Vision API integration with 95%+ accuracy
  • AWS Native: S3 storage, CloudFront CDN, and serverless-ready architecture
  • Production Scale: Handles 20,000+ receipts monthly with intelligent queuing
  • Mobile-First: Responsive design with camera integration and touch gestures

πŸ—οΈ Architecture Overview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Mobile Web    β”‚    β”‚   Express.js    β”‚    β”‚   AWS Services  β”‚
β”‚   Application   │───▢│   Backend API   │───▢│   S3 + CloudFrontβ”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚                       β”‚                       β”‚
         β”‚                       β”‚                       β”‚
         β–Ό                       β–Ό                       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Google Vision  β”‚    β”‚  Google Sheets  β”‚    β”‚  Real-time OCR  β”‚
β”‚     API         β”‚    β”‚   Integration   β”‚    β”‚   Processing    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

✨ Key Features

πŸ” Intelligent Receipt Recognition

  • Multi-bank parsing: Automatically detects and extracts data from 7+ bank formats
  • Smart field extraction: Amount, reference numbers, dates, payment methods
  • Confidence scoring: Quality assessment with retry mechanisms
  • Batch processing: Handle multiple receipts simultaneously

πŸ“± Modern Web Interface

  • Progressive Web App: Works offline with service workers
  • Camera integration: Real-time receipt capture with auto-focus
  • Drag & drop: Intuitive file upload with preview
  • Responsive design: Optimized for mobile, tablet, and desktop

☁️ AWS Integration

  • S3 Storage: Secure, scalable image storage with lifecycle policies
  • CloudFront CDN: Global content delivery for fast image loading
  • IAM Security: Role-based access control and encryption
  • Lambda Ready: Serverless deployment architecture

πŸ“Š Data Management

  • Google Sheets: Real-time data synchronization
  • Multi-tenant: Customer-specific data isolation
  • Audit trails: Complete transaction history
  • Export capabilities: CSV, JSON, and API access

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • AWS Account with S3 access
  • Google Cloud Vision API key
  • Google Sheets API credentials

Installation

# Clone the repository
git clone https://github.com/compressionmonkey/Image-recognition-System.git
cd Image-recognition-System

# Install dependencies
npm install

# Set up environment variables
cp .env.example .env

Environment Configuration

# AWS Configuration
AWS_REGION=us-east-1
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
AWS_BUCKET_NAME=your-bucket-name

# Google Cloud Vision
GOOGLE_CLOUD_VISION_API_KEY=your_vision_api_key

# Google Sheets (Service Account)
GOOGLE_APPLICATION_CREDENTIALS_JSON={"type":"service_account",...}

# Customer-specific spreadsheet IDs
GOOGLE_SHEETS_SPREADSHEET_AMBIENT_ID=your_spreadsheet_id
# ... other customer IDs

Development

# Start development server
npm run dev

# Build for production
npm run build

# Start production server
npm start

🏒 Enterprise Features

Multi-Tenant Architecture

  • Customer-specific data isolation
  • Configurable spreadsheet mappings
  • Role-based access control
  • Custom branding support

Scalability

  • Horizontal scaling with load balancers
  • Database sharding capabilities
  • CDN integration for global performance
  • Auto-scaling based on demand

Security

  • End-to-end encryption
  • JWT authentication
  • Rate limiting and DDoS protection
  • SOC 2 compliance ready

πŸ“ˆ Performance Metrics

  • Processing Speed: 2-5 seconds per receipt
  • Accuracy Rate: 95%+ for clear images
  • Concurrent Users: 1000+ simultaneous sessions
  • Uptime: 99.9% availability
  • Storage: Petabyte-scale S3 integration

πŸ”§ API Documentation

Single Receipt Processing

POST /vision-api
Content-Type: application/json

{
  "image": "base64_encoded_image",
  "customerID": "customer_id"
}

Batch Processing

POST /multiple-vision-api
Content-Type: application/json

{
  "images": [
    {"image": "base64_1", "filename": "receipt1.jpg"},
    {"image": "base64_2", "filename": "receipt2.jpg"}
  ],
  "customerID": "customer_id"
}

Cash Transaction Recording

POST /record-cash
Content-Type: application/json

{
  "amount": 150.00,
  "paymentMethod": "Cash",
  "customerID": "customer_id",
  "particulars": "Office supplies"
}

πŸ› οΈ Deployment Options

AWS Deployment

# Deploy to AWS Lambda
npm run deploy:lambda

# Deploy to EC2
npm run deploy:ec2

# Deploy to ECS
npm run deploy:ecs

Docker Deployment

# Build Docker image
docker build -t tshong-ai .

# Run container
docker run -p 3000:3000 tshong-ai

Railway Deployment

# Deploy to Railway
railway up

🀝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Setup

# Fork and clone
git clone https://github.com/your-username/Image-recognition-System.git

# Create feature branch
git checkout -b feature/amazing-feature

# Make changes and test
npm test

# Commit and push
git commit -m "Add amazing feature"
git push origin feature/amazing-feature

# Create Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Google Cloud Vision API for OCR capabilities
  • AWS S3 for scalable storage
  • Express.js for the backend framework
  • Open Source Community for inspiration and support

πŸ“ž Support


Built with ❀️

About

Image recognition System for financial record automation - 20+ clients and 20,000 monthly transactions

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published