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.
- 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
- Java Swing – UI Framework
- Firebase – Authentication & Firestore Database
- OCR.space API – OCR service
- JUnit – Unit testing
Follows Clean Architecture and SOLID principles.
- Clone the repository:
git clone https://github.com/yourusername/VisionText.git cd VisionText - Install dependencies:
- Java 17+
- Maven (if using Maven)
- Configure Firebase:
- Add your
google-services.jsonor Firebase config
- Add your
- Configure OCR API key in
config.properties - Run the app:
mvn exec:java -Dexec.mainClass="com.visiontext.Main"
Video Demo https://github.com/user-attachments/assets/4cf54bdf-2021-4382-8d1e-d1de9f826a25
- Login

- Dashboard

- Upload an Image

- Extract Text

- View History

- Settings Menu

- Change Accent Color

- Dark Mode Login
- Endpoint:
signInWithEmailAndPassword(email, password)
- Endpoint:
POST /parse/image - Parameters:
apikey– Your API keyfile– Image file to process
- Unit tests for all interactors and services
- Mocked Firebase & OCR API for offline testing
- Code coverage: >80%
- Followed Java naming conventions
- Checkstyle applied for formatting
- Example PR with review comments and fixes
- Pull Request Example:
(

- Krisvir Aujla
- Harry Wu
- Habib
- Jok
