Files
thrillwiki_django_no_react/docs/search_integration_plan.md
2025-08-15 12:24:20 -04:00

2.4 KiB

Search Integration Plan

1. File Structure

core/
├── views/
│   └── search.py          # Search views implementation
├── utils/
│   └── search.py          # Search utilities
templates/
└── core/
    └── search/            # Search templates
        ├── results.html
        ├── filters.html
        └── ... 

2. View Migration

  • Move search/views.pycore/views/search.py
  • Update view references:
# Old: from search.views import AdaptiveSearchView
# New:
from core.views.search import AdaptiveSearchView, FilterFormView

3. URL Configuration Updates

Update thrillwiki/urls.py:

# Before:
path("search/", include("search.urls", namespace="search"))

# After:
path("search/", include("core.urls.search", namespace="search"))

Create core/urls/search.py:

from django.urls import path
from core.views.search import AdaptiveSearchView, FilterFormView
from rides.views import RideSearchView

urlpatterns = [
    path('parks/', AdaptiveSearchView.as_view(), name='search'),
    path('parks/filters/', FilterFormView.as_view(), name='filter_form'),
    path('rides/', RideSearchView.as_view(), name='ride_search'),
    path('rides/results/', RideSearchView.as_view(), name='ride_search_results'),
]

4. Import Cleanup Strategy

  1. Update all imports:
# Before:
from search.views import ...
from search.utils import ...

# After:
from core.views.search import ...
from core.utils.search import ...
  1. Remove old search app:
rm -rf search/
  1. Update INSTALLED_APPS in thrillwiki/settings.py:
# Remove 'search' from INSTALLED_APPS
INSTALLED_APPS = [
    # ...
    # 'search',  # REMOVE THIS LINE
    # ...
]

5. Implementation Steps

  1. Create new directory structure in core
  2. Move view logic to core/views/search.py
  3. Create URL config in core/urls/search.py
  4. Move templates to templates/core/search/
  5. Update all import references
  6. Remove old search app
  7. Test all search functionality:
    • Park search filters
    • Ride search
    • HTMX filter updates
  8. Verify URL routes

6. Verification Checklist

  • All search endpoints respond with 200
  • Filter forms render correctly
  • HTMX updates work as expected
  • No references to old search app in codebase
  • Templates render with correct context