GSoC 2025 Proposal Draft: Advanced JSONField Operations – Feedback Needed

Hello Django community!

My name is Geordan, and I’m an aspiring contributor hoping to apply for Google Summer of Code 2025 with Django. While I haven’t contributed to Django’s codebase yet, I’ve been studying it closely and would love feedback on a potential project idea before submitting my proposal.

Project Idea: Enhancing JSONField

Goal: Improve JSONField to support:

  1. Cross-database queries (SQLite/MySQL/PostgreSQL):
  • Basic operations like contains() or nested key lookups (e.g. filter(data__user__name="John")).
  1. PostgreSQL optimizations:
  • Advanced aggregations (JSONBAgg) and path queries (if deemed feasible).

Why?

  • Many developers rely on RawSQL for these tasks (ticket #12990).
  • PostgreSQL’s JSONB support is underutilized in Django’s ORM (ticket #32525).

Help Needed

As a first-time contributor, I’d appreciate advice on:

  1. Project Scope: Is this too ambitious for GSoC? Should I focus only on cross-DB or PostgreSQL?
  2. Contribution Path: What small tickets could I tackle first to learn the codebase?
  3. Proposal Tips: How to structure my application to align with Django’s priorities?

My Next Steps

  • Study Django’s JSONField and contrib.postgres code.
  • Attempt to fix a beginner-friendly ticket related to JSON/PostgreSQL.

Thank you for your patience and guidance! I’m eager to contribute meaningfully and will actively incorporate feedback.

Geordan.

Hi @gnoubis! That appears to be a project from a few years ago that was largely implemented. Please checkout the project ideas that have mentors identified here: SummerOfCode2025 – Django

Hi @codename Tim,

Thank you for pointing me to the mentored projects list! After reviewing the current needs, I’d like to propose a project addressing long-standing limitations in ManifestStaticFilesStorage (tickets #34563, #34497, #35371) that affect modern JavaScript/CSS workflows.

Project Focus

“Bringing Static Files Handling into the ES6+ Era”

  1. Core Issues to Solve:
  • False positives in JS module regex (#35371)
  • Absolute path imports breaking (#34497)
  • CSS-in-JS support gap (#34563)
  1. Innovation Approach:
  • Replace regex-based parsing with proper AST analysis (using esprima)
  • Add plugin support for PostCSS/SASS preprocessing
  • Maintain backward compatibility

Why This Matters

  • Mentor Alignment: Builds on work by @CalvinVu and @HielkeWalinga

Would you:

  1. Consider this a valuable GSoC project?
  2. Suggest which ticket to tackle first?

I’m ready to submit a formal proposal once we align on scope.

Best,