"""Extracts context factors from a user query based on predefined keywords.

This function processes a user query to identify and extract context factors by checking for the presence of specific keywords. The keywords are categorized into two groups: technology-related and complexity-related. Each keyword is mapped to a corresponding context factor, which is added to the result list if the keyword is found in the query.

Args:
    user_query (str): The user's query string from which context factors are to be extracted.

Returns:
    List[str]: A list of context factors identified in the query. The factors are derived from the predefined keyword mappings.

The function performs a case-insensitive search by converting the query to lowercase before checking for keywords. The context factors are added to the list in the order they are found, without any deduplication.
"""
You should write code starting with:
from typing import List

def extract_context_factors(user_query: str) -> List[str]:
    # TODO: Implement this function based on the docstring.
    pass

