ElqKit is a web application toolkit designed specifically for the Oracle Eloqua marketing automation platform.
Oracle Eloqua is a powerful marketing automation platform used by enterprises for email marketing, lead generation, and customer journey management. ElqKit addresses common operational challenges by providing:
- Dependency Deletion: Handle deletion of dependencies that aren't available via the UI
- API Automation: Streamline repetitive API operations
- Testing Utilities: Simplify testing workflows
Convert CSV files to HTTP POST requests for Eloqua forms with enterprise-grade reliability.
Key Capabilities:
- Drag-and-drop file upload with 5MB limit
- Real-time progress tracking with detailed status updates
- Comprehensive validation and error reporting
- Results download capability for audit trails
- Column-to-field mapping for flexible data structure
- Batch processing with timeout handling
How it works:
- Upload CSV file with form data
- Configure Site ID and elqFormName
- Each CSV row becomes a form submission
- Get detailed success/failure results
- Docker Engine 20.10+
- Docker Compose 2.0+
- At least 512MB RAM available
- Port 8847 available (configurable)
# Clone the repository
git clone https://github.com/amdom5/ElqKit.git
cd ElqKit
# Start the application
docker-compose up -d
# View logs
docker-compose logs -f elqkit
# Access the application
open http://localhost:8847# Create production environment file
cat > .env << EOF
SECRET_KEY=your-super-secure-secret-key-here
FLASK_ENV=production
FLASK_DEBUG=false
PORT=8847
EOF
# Create production docker-compose file
cp docker-compose.yml docker-compose.prod.yml
# Edit production settings
nano docker-compose.prod.yml
# Deploy
docker-compose -f docker-compose.prod.yml up -d# Build the image
docker build -t elqkit:latest .
# Run production container
docker run -d \
--name elqkit \
--restart unless-stopped \
-p 8847:8847 \
-e FLASK_ENV=production \
-e SECRET_KEY=your-secret-key \
elqkit:latest# Deploy with Nginx reverse proxy
docker-compose -f docker-compose.prod.yml up -dFor detailed deployment instructions including SSL setup, monitoring, and troubleshooting, see DOCKER_DEPLOYMENT.md.
elqkit/
βββ app.py # Main Flask application
βββ requirements.txt # Python dependencies
βββ Dockerfile # Production container config
βββ docker-compose.yml # Development orchestration
βββ routes/ # Modular route handlers
β βββ main.py # Landing page and navigation
β βββ autosubmit.py # CSV to API converter
β βββ bulkdelete.py # Bulk deletion tool
β βββ testemail.py # Email testing utilities
βββ templates/ # Jinja2 HTML templates
β βββ base.html # Base template with layout
β βββ index.html # Landing page
β βββ */ # Tool-specific templates
βββ static/ # Frontend assets
β βββ css/ # Modern CSS with design system
β βββ js/ # ES6+ JavaScript modules
β βββ images/ # SVG icons and branding
βββ docs/ # Documentation
ElqKit is built with security as a priority:
- Container Security: Non-root user execution
- Input Validation: Comprehensive sanitization and validation
- File Security: Type and size restrictions (CSV only, 5MB max)
- No Persistent Storage: Privacy-focused, files processed in memory
- Security Headers: Recommendations for production deployment
- Secret Management: Environment variable configuration
For detailed security information, see SECURITY.md.
# Required for production
SECRET_KEY=your-secure-secret-key
# Optional configuration
FLASK_ENV=production # production or development
FLASK_DEBUG=false # true for development
PORT=8847 # Application portFor production deployments:
# Install additional security packages
pip install Flask-WTF flask-talisman Flask-Limiter
# Configure in your application
from flask_wtf.csrf import CSRFProtect
from flask_talisman import Talisman
csrf = CSRFProtect(app)
Talisman(app)# Clone and setup virtual environment
git clone https://github.com/amdom5/ElqKit.git
cd ElqKit
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Run development server
python app.py- Python 3.11+
- Docker Engine 20.10+
- 512MB RAM minimum
- 1GB disk space
Common Issues:
- Port 8847 in use: Change port in
docker-compose.ymlor kill conflicting process - Permission denied: Check file permissions with
sudo chown -R $USER:$USER . - Container won't start: Check logs with
docker logs elqkit - Health check failing: Verify application is responding on configured port
Made with β€οΈ for the Eloqua community
ElqKit is not officially affiliated with Oracle Corporation or Oracle Eloqua.