ChequeMate is a streamlined web application built with Streamlit that automates the process of extracting information from bank cheques in PDF format. Using Google's Gemini AI, it processes check images to extract crucial details like bank name, IFSC code, account numbers, and more.
- PDF Processing: Extract cheque images from PDF documents
- AI-Powered Extraction: Automatically extract cheque details using Google's Gemini AI
- Secure Authentication: User registration and login system
- Data Management: Store and manage extracted check data
- Export Capability: Download processed data in CSV format
- User-Friendly Interface: Clean and intuitive Streamlit interface
- Python 3.8 or higher
- MongoDB installed and running
- Google API Key for Gemini AI
- Clone the repository:
git clone https://github.com/mohannn-sys/ChequeMate.git
cd ChequeMate- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install required packages:
pip install -r requirements.txt- Create a
.envfile in the root directory with the following variables:
MONGODB_URI=your_mongodb_connection_string
API_KEY=your_google_api_keyproject/
├── config/ # Configuration settings
├── database/ # Database management
├── services/ # Core services and utilities
├── ui/ # User interface components
├── requirements.txt # Project dependencies
├── .env # Environment variables
└── main.py # Application entry point
-
Ensure MongoDB is running on your system
-
Start the application:
streamlit run main.py- Open your browser and navigate to the URL shown in the terminal (typically http://localhost:8501
These are the snapshots of the application
-
Registration/Login
- Create a new account or login with existing credentials
- Password requirements:
- Minimum 8 characters
- At least one uppercase letter
- At least one lowercase letter
- At least one number
- At least one special character
-
Processing Checks
- Upload a PDF containing cheque images
- Click "Process Checks" to extract information
- View extracted data in the table format
- Download results as CSV file
-
Data Management
- View processed cheque data
- Clear all processed data
- Export data to CSV format
- Password hashing using SHA-256
- Email validation
- Secure session management
- Environment variable protection for sensitive data
The application extracts the following details from each cheque:
- Bank name
- Branch name
- IFSC code
- MICR code
- Account number
- Payee name
- Date
- Amount in words
- Amount in figures
Configure application settings in config/settings.py:
- MongoDB connection
- Google API settings
- Directory paths
- Extraction prompts
The application includes comprehensive error handling for:
- PDF processing errors
- Image extraction issues
- Database connection problems
- Invalid user inputs
- AI processing failures
- Fork the repository
- Create a new branch (
git checkout -b feature/improvement) - Commit your changes (
git commit -am 'Add new feature') - Push to the branch (
git push origin feature/improvement) - Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Mohan Kumar
- Google Gemini AI for check processing
- Streamlit for the web interface
- MongoDB for data storage
- PyMuPDF for PDF processing
For support or questions, please open an issue in the GitHub repository




