Django · Content
One searchable catalog for managed and fallback projects
A shared project representation keeps search useful across database content and source-backed defaults.

This portfolio uses admin-managed Project records alongside source-backed defaults. Defaults help a fresh installation show useful content, while a matching database record takes precedence. An unpublished managed project suppresses its default, so editorial decisions remain effective.
The library normalizes both sources into project cards with a name, summary, work type and technology tags. Search, work-type filtering and technology filtering run against this combined catalog on the server. That makes direct URLs shareable and keeps filtering available without JavaScript.
Backend, frontend and full-stack describe the contribution, not the product category. Technology tags can be edited in the admin; known defaults are used only when explicit tags are absent. Search terms and selected filters remain visible after submission, and Reset returns to the complete catalog.
The important tests check combinations of filters, an empty result, managed overrides and hidden drafts. A green search-box test alone would not establish that every content source is included.