Overview
The GTM Research Engine is a full-stack application with a FastAPI backend and React frontend. This guide will walk you through installing both components.Prerequisites
Before installing the GTM Research Engine, ensure you have the following installed on your system:Python 3.11+
Required for the backend research engine
Node.js 18+
Required for the frontend React application
Redis Server
Used for caching and deduplication
Git
For cloning the repository
Package Manager Recommendation: The backend uses
uv for fast Python dependency management. Install it with: pip install uvSystem Requirements
- Memory: Minimum 4GB RAM (8GB recommended for production)
- Storage: At least 2GB free disk space
- Network: Internet connection for API calls to external data sources
- OS: Linux, macOS, or Windows (WSL recommended for Windows)
Installation Steps
Clone the Repository
First, clone the GTM Research Engine repository to your local machine:
Replace
<repository-url> with your actual repository URL.Install Redis
Redis is required for caching and deduplication. Install it based on your operating system:Verify Redis is running:
Install Backend Dependencies
Navigate to the backend directory and install Python dependencies:The backend uses the following key dependencies:
Backend Dependencies
Backend Dependencies
- FastAPI (0.116.1+): Modern web framework for building APIs
- Google Generative AI (0.8.5+): LLM for query generation and analysis
- Tavily Python (0.7.10+): Google Search API integration
- NewsAPI Python (0.2.7+): News data source integration
- Redis (6.4.0+): Caching and deduplication
- Scikit-learn (1.7.1+): TF-IDF for job posting analysis
- Uvicorn (0.35.0+): ASGI server for FastAPI
- Pydantic (2.11.7+): Data validation and serialization
- ORJSON (3.11.2+): Fast JSON serialization
Install Frontend Dependencies
Navigate to the frontend directory and install Node.js dependencies:The frontend uses the following key dependencies:
Frontend Dependencies
Frontend Dependencies
- React (18.2.0): UI framework
- Material-UI v7 (7.1.0): Component library
- TypeScript (5.9.2+): Type-safe JavaScript
- Vite (5.1.0): Build tool and dev server
- Emotion (11.11.0+): CSS-in-JS styling
Post-Installation
Troubleshooting
Python version issues
Python version issues
If you encounter Python version errors, ensure you’re using Python 3.11 or higher:Consider using
pyenv to manage multiple Python versions:Redis connection errors
Redis connection errors
If the backend can’t connect to Redis:
- Verify Redis is running:
redis-cli ping - Check the default port (6379) is not in use:
lsof -i :6379 - Review Redis logs for errors
Node.js or npm version issues
Node.js or npm version issues
Ensure you’re using Node.js 18 or higher:Use
nvm (Node Version Manager) to install the correct version:Package installation failures
Package installation failures
If Frontend:
uv sync or npm install fails:Backend:Next Steps
Configuration
Configure environment variables and settings
API Keys
Set up required API keys for data sources