Skip to content

Automated system that processes shipping-related emails using LLM, extracts key information (addresses, dates, pricing), and displays it in a searchable dashboard. Built with FastAPI, PostgreSQL, Redis and Kafka.

Notifications You must be signed in to change notification settings

Mitali-Juvekar/Email-Processor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Email Processing Dashboard

Automated email processor that extracts shipping information using LLMs and displays it in a dashboard.

Features

  • Email processing with Mistral LLM
  • Multi-account support
  • Real-time processing with Kafka
  • Redis caching
  • PostgreSQL storage

Prerequisites

  • Python 3.10+
  • PostgreSQL
  • Redis
  • Kafka & Zookeeper
  • Ollama

Setup

  1. Install dependencies:
pip install -r requirements.txt
  1. Configure environment:
  • Copy .env.example to .env
  • Add Gmail account credentials (requires 2FA and App Password)
  • Configure database settings
  1. Start services (each in separate terminal):
redis-server
zookeeper-server-start /opt/homebrew/etc/kafka/zookeeper.properties
kafka-server-start /opt/homebrew/etc/kafka/server.properties
ollama serve
  1. Add email accounts:
curl -X POST "http://localhost:8000/[email protected]&password=your_app_password&imap_server=imap.gmail.com"
  1. Run application:
cd src
uvicorn main:app --reload

Visit http://localhost:8000/dashboard

Output:

architecture architecture

Emails looks like:

architecture architecture architecture

About

Automated system that processes shipping-related emails using LLM, extracts key information (addresses, dates, pricing), and displays it in a searchable dashboard. Built with FastAPI, PostgreSQL, Redis and Kafka.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published