🚀 LeadGenius

Complete User Manual & Deployment Guide

1. System Overview

What is LeadGenius?

LeadGenius is a comprehensive lead generation and contact management system designed for small businesses and independent professionals. It provides tools to manage contacts, create marketing campaigns, track analytics, and organize email templates.

System Architecture

  • Frontend: React with TypeScript and Tailwind CSS
  • Backend: Node.js with Express
  • Database: SQLite for development, PostgreSQL for production
  • Authentication: Mock authentication (development mode)

Feature Status

  • Contact Management ✅ ACTIVE
  • Campaign Management 🚧 IN DEVELOPMENT
  • Analytics & Reporting 🚧 IN DEVELOPMENT
  • Template Management 📋 PLANNED
  • Directory Integration 📋 PLANNED

2. Getting Started

System Requirements

  • Node.js 18+ installed
  • npm or yarn package manager
  • Modern web browser (Chrome, Firefox, Safari, Edge)
  • 4GB RAM minimum, 8GB recommended

Accessing the System

Step 1: Start the Application

Navigate to your LeadGenius directory and run:

npm run dev

The system will start on port 5000 by default.

Step 2: Open Your Browser

Navigate to:

http://localhost:5000
Screenshot: Login/Dashboard screen would appear here

Navigation Overview

  • Dashboard: Overview of your activities and statistics
  • Contacts: Manage your business contacts and leads
  • Campaigns: Create and manage marketing campaigns
  • Templates: Design and store email templates
  • Analytics: View performance metrics and reports
  • Directories: Access to lead generation directories

3. Contact Management ✅ ACTIVE

Adding New Contacts

Step 1: Navigate to Contacts

Click on "Contacts" in the main navigation menu.

Screenshot: Contacts page overview

Step 2: Click "Add Contact"

Click the blue "Add Contact" button in the top-right corner.

Screenshot: Add Contact button location

Step 3: Fill Contact Information

Complete the contact form with the following required and optional fields:

  • Full Name*: Contact's complete name (required)
  • Email*: Primary email address (required)
  • Company: Company or organization name
  • Phone: Contact phone number
  • Website: Company or personal website URL
  • Notes: Additional information or context
Screenshot: Contact form with all fields visible

Step 4: Save Contact

Click "Add Contact" to save the new contact to your database.

💡 Success Indicator

You'll see a green success message and the contact will appear in your contact list.

Managing Existing Contacts

Viewing Contact List

All contacts are displayed in a searchable, filterable list showing:

  • Contact name and email
  • Company information
  • Status badge (Active, Unsubscribed, Bounced)
  • Tags and creation date

Searching and Filtering

Use the search bar to find contacts by:

  • Name
  • Email address
  • Company name

Filter contacts by status using the filter buttons (All, Active, Unsubscribed, Bounced).

Editing Contacts

Click the three-dot menu (⋯) next to any contact and select "Edit" to modify contact information.

Deleting Contacts

Click the three-dot menu (⋯) next to any contact and select "Delete". Confirm the deletion in the popup dialog.

⚠️ Warning

Deleting a contact is permanent and cannot be undone. Make sure you want to remove the contact before confirming.

Exporting Contact Data

CSV Export

Click "Export CSV" to download all your contacts in CSV format for use in other applications like Excel or Google Sheets.

The export includes all contact fields: name, email, company, phone, website, status, tags, notes, and creation date.

4. Campaign Management 🚧 IN DEVELOPMENT

Overview

The campaign management system allows you to create, schedule, and track email marketing campaigns to your contacts.

Creating Campaigns

Campaign Setup (Planned)

Future functionality will include:

  • Campaign name and description
  • Target audience selection
  • Email template selection
  • Scheduling options
  • A/B testing capabilities

Campaign Tracking

Performance Metrics (Planned)

Track campaign performance with:

  • Delivery rates
  • Open rates
  • Click-through rates
  • Unsubscribe rates
  • Bounce rates

🚧 Development Status

Campaign management features are currently in development. Basic framework is in place, with full functionality planned for future releases.

5. Analytics & Reporting 🚧 IN DEVELOPMENT

Dashboard Metrics

Current dashboard shows basic statistics:

  • Total contacts count
  • Active campaigns
  • Average open rates
  • Total emails sent

Planned Analytics Features

Contact Analytics

  • Contact growth over time
  • Contact source tracking
  • Engagement scoring
  • Geographic distribution

Campaign Performance

  • Detailed campaign reports
  • Comparative analysis
  • ROI calculations
  • Trend analysis

Custom Reports

  • Date range selection
  • Custom filters
  • Export capabilities
  • Scheduled reporting

6. Template Management 📋 PLANNED

Email Templates

Future template management will include:

Template Creation

  • Drag-and-drop email builder
  • Pre-designed templates
  • HTML editor for advanced users
  • Mobile-responsive designs

Template Library

  • Categorized template storage
  • Template sharing
  • Version control
  • Performance tracking per template

Personalization

  • Dynamic content insertion
  • Contact field merging
  • Conditional content
  • A/B testing variants

7. Troubleshooting

Common Issues

Application Won't Start

Problem: Server fails to start or shows errors

Solutions:

  • Ensure Node.js 18+ is installed: node --version
  • Install dependencies: npm install
  • Check if port 5000 is available
  • Review server logs for specific error messages

Contact Form Not Submitting

Problem: Add Contact button doesn't work

Solutions:

  • Ensure both Name and Email fields are filled (required fields)
  • Check browser console for JavaScript errors (F12)
  • Verify backend server is running
  • Clear browser cache and reload

Database Issues

Problem: Data not saving or loading

Solutions:

  • Check if dev.db file exists in project root
  • Verify database permissions
  • Restart the application
  • Check server logs for SQLite errors

Browser Compatibility

Problem: Interface not displaying correctly

Solutions:

  • Use a modern browser (Chrome 90+, Firefox 88+, Safari 14+)
  • Enable JavaScript
  • Clear browser cache
  • Disable browser extensions that might interfere

Server Maintenance

Regular Backups

Backup your database regularly:

cp dev.db backup-$(date +%Y%m%d).db

Log Management

Monitor application logs for issues and performance:

tail -f server.log

Updating Dependencies

Keep dependencies up to date:

npm update

8. Deployment & Portability

Making LeadGenius Portable

Option 1: Docker Container (Recommended)

Create a Dockerfile in your project root:

FROM node:18-alpine WORKDIR /app COPY package*.json ./ RUN npm ci --only=production COPY . . RUN cd client && npm ci && npm run build EXPOSE 5000 CMD ["npm", "start"]

Build and run the container:

docker build -t leadgenius . docker run -p 5000:5000 -v $(pwd)/data:/app/data leadgenius

Option 2: Virtual Machine

Create a VM with your preferred Linux distribution and:

  • Install Node.js 18+
  • Clone the LeadGenius repository
  • Install dependencies
  • Configure as a system service

Option 3: Portable Directory

Create a self-contained directory structure:

leadgenius-portable/ ├── app/ # Your LeadGenius code ├── node/ # Portable Node.js ├── data/ # Database and uploads ├── start.sh # Startup script └── README.md # Setup instructions

Cloning and Provisioning

Quick Clone Setup

Clone the project to a new environment:

git clone https://github.com/yourusername/leadgenius.git cd leadgenius npm install cd client && npm install && cd .. cp .env.example .env npm run dev

Production Deployment Script

Create a deployment script (deploy.sh):

#!/bin/bash # LeadGenius Deployment Script echo "🚀 Deploying LeadGenius..." # Update system sudo apt update && sudo apt upgrade -y # Install Node.js curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt-get install -y nodejs # Clone repository git clone https://github.com/yourusername/leadgenius.git cd leadgenius # Install dependencies npm install cd client && npm install && npm run build && cd .. # Setup environment cp .env.example .env echo "Please configure your .env file" # Setup database npm run migrate # Install PM2 for process management npm install -g pm2 # Start application pm2 start ecosystem.config.js pm2 save pm2 startup echo "✅ LeadGenius deployed successfully!" echo "Access your application at http://localhost:5000"

Environment Configuration

Create a comprehensive .env.example file:

# Database Configuration DATABASE_URL=sqlite:./dev.db # Server Configuration PORT=5000 NODE_ENV=production # Authentication (when implemented) JWT_SECRET=your-secret-key SESSION_SECRET=your-session-secret # Email Configuration (future) SMTP_HOST= SMTP_PORT= SMTP_USER= SMTP_PASS= # Analytics (future) GOOGLE_ANALYTICS_ID=

Backup and Migration

Data Backup Strategy

Create automated backups:

#!/bin/bash # backup.sh DATE=$(date +%Y%m%d_%H%M%S) mkdir -p backups cp dev.db backups/leadgenius_$DATE.db tar -czf backups/full_backup_$DATE.tar.gz . --exclude=node_modules --exclude=backups

Migration Between Environments

To move LeadGenius between servers:

  1. Backup your database and files
  2. Clone the repository on the new server
  3. Copy your database and configuration files
  4. Install dependencies and start the application

📦 Recommended Portable Setup

For maximum portability, use Docker with volume mounts for data persistence. This ensures your LeadGenius installation works consistently across different environments.

📞 Support & Contact

For technical support or questions about LeadGenius:

  • Check the troubleshooting section above
  • Review server logs for error messages
  • Ensure all dependencies are properly installed
  • Consider the deployment options for your specific needs

💡 Development Notes

LeadGenius is designed as a lightweight, self-contained lead management system. The modular architecture allows for easy customization and feature additions as your business grows.