hirejared-kw-db/docs/project-docs/01-overview/project-goals.md
2024-11-19 07:52:08 -05:00

7.5 KiB

HireJared Keyword Management System

Project Overview

The HireJared Keyword Management System uses a dual-interface approach: bash scripts for database administration and structure management, combined with LibreOffice Base for daily operational use. The system provides robust keyword data management, import capabilities from multiple sources, and keyword organization features through this hybrid approach of command-line scripting and GUI-based database interaction.

Interface Strategy

Command-Line Interface (Bash Scripts)

  • Database creation and structure management
  • Table creation and modification
  • Data import processing
  • Bulk operations and maintenance tasks
  • System updates and modifications
  • Database backup and restoration

LibreOffice Base Interface

  • Daily keyword management operations
  • Ad group and campaign management
  • Query building and data analysis
  • Report generation
  • Data entry and updates
  • View-based data access and manipulation

Database Views and Functions

  • Create optimized views for common operations
  • Implement functions for frequently used queries
  • Design views for specific LibreOffice Base forms
  • Maintain consistent data access patterns
  • Support efficient filtering and sorting operations

Core Objectives

1. Data Centralization

  • Create a central repository for all campaign keywords
  • Support multiple data sources (GKWP, SEMRush, plain lists)
  • Maintain historical data and import records
  • Eliminate duplicate keywords through case-insensitive storage

2. Campaign Structure Management

  • Maintain hierarchical organization of campaigns, ad groups, and keywords
  • Track landing pages and their associations with ad groups
  • Support campaign planning and organization
  • Enable bulk operations for campaign management

Campaign Management

  • Store and track all advertising campaigns
  • Maintain campaign metadata and settings
  • Support campaign-level organization and reporting

Ad Group Management

  • Create and manage ad groups within campaigns
  • Associate single landing pages with ad groups
  • Track ad group performance and settings
  • Support bulk ad group creation during keyword imports

Landing Page Integration

  • Maintain database of all campaign landing pages
  • Track landing page assignments to ad groups
  • Ensure one-to-one relationship between ad groups and landing pages
  • Support landing page performance tracking

3. Data Import Support

  • Google Keyword Planner (GKWP) data imports
  • SEMRush keyword data imports
  • SEMRush competitor keyword data imports
  • Plain keyword list imports for existing campaign keywords
    • Support for direct ad group assignment during import
    • Option to create new ad groups during import process
    • Bulk keyword assignment to existing ad groups
    • Support for importing current campaign structure and keywords

4. Data Organization

  • Support for ad group assignments
  • Tracking of keyword metrics from multiple sources
  • Ability to identify and track seed keywords
  • Support for future competitor analysis features

Technical Requirements

Database

  • PostgreSQL with ICU locale support
  • UTF-8 encoding
  • Case-insensitive keyword storage
  • Proper handling of currency and numeric data
  • Optimized views for LibreOffice Base operations
  • Functions to support common data operations

Script Organization

  • Modular bash scripts organized by function
  • Centralized configuration management
  • Clear separation of concerns between different operations
  • Comprehensive error handling and logging
  • Scripts for creating and maintaining database views
  • Support for LibreOffice Base integration

LibreOffice Base Integration

  • Maintained set of database views
  • Optimized query designs
  • Form-specific view implementations
  • Support for common filtering operations
  • Efficient data entry interfaces

Configuration Management

  • Database connection details stored in .database configuration file
  • Support for multiple environment configurations
  • Secure credential management

Next Steps

1. Campaign Structure Implementation

  • Create campaigns table
  • Create ad groups table
  • Create landing pages table
  • Establish relationships between tables
  • Create management scripts for campaigns, ad groups, and landing pages

2. LibreOffice Base Integration

  • Create optimized views for common operations
  • Design query templates for frequent operations
  • Implement supporting functions
  • Create view-based forms for data entry
  • Establish efficient data browsing interfaces

3. Keyword Import and Assignment

  • Develop plain keyword list import functionality
    • Support for existing campaign keywords
    • Ad group assignment during import
    • New ad group creation during import
  • Create bulk assignment tools for keywords to ad groups

4. Data Source Integration

  • Implement GKWP data import functionality
  • Develop SEMRush data import capabilities
  • Create competitor data import features

5. Management Interface

  • Create scripts for campaign management
  • Develop ad group management tools
  • Implement landing page association features
  • Build keyword assignment utilities

Future Enhancements

  1. Web page integration for ad targeting
  2. Enhanced competitor analysis features
  3. Automated processing and scheduled imports
  4. Advanced reporting capabilities
  5. Performance tracking and optimization tools

Initial Implementation Priority

Phase 1: Database Foundation

  1. Create core database management scripts

    • Script to create keyword_management database with ICU locale support
    • Script to delete keyword_management database for testing
    • Scripts to verify database creation and configuration
    • Database backup and restore functionality
  2. Implement current working functionality

    • Script to create the Keywords table
    • Scripts to create established GKWP management functions
    • Scripts to verify function creation and testing
    • Implementation of existing unique constraints
  3. Create LibreOffice Base integration

    • Implement essential views for current functionality
    • Verify proper function access through LibreOffice Base
    • Test keyword data management through GUI

Phase 2: Campaign Structure Implementation

  1. Create campaign structure tables

    • Campaigns table
    • Ad Groups table
    • Landing Pages table
    • Relationship management between tables
  2. Implement campaign structure views

    • Create views for LibreOffice Base integration
    • Implement necessary management functions
    • Create verification and testing scripts

Phase 3: Keyword Management

  1. Develop plain keyword list import functionality

    • Import existing campaign keywords
    • Support ad group assignment during import
    • Enable new ad group creation during import
  2. Create keyword assignment tools

    • Bulk assignment utilities
    • Ad group association scripts
    • Import verification tools
  3. Implement supporting views

    • Keyword management views
    • Assignment verification views
    • Import status views

Each phase builds upon the successful implementation and testing of the previous phase, ensuring a solid foundation for the system. The priority is to first establish and document our current working functionality before expanding to new features.

This will enable the immediate migration of existing campaign data into the new system while setting up the foundation for enhanced functionality through GKWP and SEMRush data integration.