Skip to content

FriedricNietzsche/VisionText

Repository files navigation

VisionText – OCR Text Extractor with Login & History

Description

VisionText is a Java Swing desktop application that allows users to securely log in, upload images, and extract text using the OCR.space API. Extracted text can be copied or saved for later, and a history of uploads is stored in Firebase Firestore.


Features

  • Secure Authentication – Firebase Authentication for login/signup
  • Image Upload – Drag-and-drop or file picker
  • OCR Processing – OCR.space API for text extraction
  • History Tracking – View and manage recent uploads
  • Copy/Save Text – Quickly copy results or store them for later
  • Cross-Platform – Runs on any OS with Java installed

Tech Stack

  • Java Swing – UI Framework
  • Firebase – Authentication & Firestore Database
  • OCR.space API – OCR service
  • JUnit – Unit testing

Architecture Overview

Follows Clean Architecture and SOLID principles.

Architecture Diagram


Setup Instructions

  1. Clone the repository:
    git clone https://github.com/yourusername/VisionText.git
    cd VisionText
  2. Install dependencies:
    • Java 17+
    • Maven (if using Maven)
  3. Configure Firebase:
    • Add your google-services.json or Firebase config
  4. Configure OCR API key in config.properties
  5. Run the app:
    mvn exec:java -Dexec.mainClass="com.visiontext.Main"

Usage Instructions

Video Demo https://github.com/user-attachments/assets/4cf54bdf-2021-4382-8d1e-d1de9f826a25

  1. Login
    ebacfb74-4086-48a7-91dc-9e4dbe9f7c2e
  2. Dashboard
    image
  3. Upload an Image
    aa80808f-1fc5-4d60-9cc2-86969baf26bc
  4. Extract Text
    image image
  5. View History
    image image
  6. Settings Menu
    8aad8e8e-94c2-4312-8302-a20eb68b31e1
  7. Change Accent Color
    01b3dea9-bac0-48da-8051-f617426fe39a
  8. Dark Mode Login
919fdade-39eb-4114-a061-30066881d22f

API Documentation

Firebase Authentication

  • Endpoint: signInWithEmailAndPassword(email, password)

OCR.space API

  • Endpoint: POST /parse/image
  • Parameters:
    • apikey – Your API key
    • file – Image file to process

Testing

  • Unit tests for all interactors and services
  • Mocked Firebase & OCR API for offline testing
  • Code coverage: >80%
    Test Coverage

Code Quality

  • Followed Java naming conventions
  • Checkstyle applied for formatting
  • Example PR with review comments and fixes
  • Pull Request Example: (image

Team Members

  • Krisvir Aujla
  • Harry Wu
  • Habib
  • Jok

About

OCR Text Extractor made fully in Java

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages