Project Overview
The project, “Adding Command Palette to Django Admin,” will integrate a search-like command palette into Django’s admin interface, enabling rapid navigation to model views (e.g., “Go to Users List”) and execution of bulk actions (e.g., “Delete selected items”). Building on knyghty’s initial work, this feature will save power users time, modernize the admin, and align with Django’s goal of enhancing developer productivity.
About Me
Hi, I’m Sai Siri Chittineni, a detail-oriented Computer Science undergraduate passionate about Python, web development, and open-source. I’ve worked with Django on projects like a task management app where I customized the admin with filters for task status, sharpening my skills in Python, Django, and front-end development. As a Software Developer Intern at Web Surfing Studios, I built scalable full-stack applications, integrating user-friendly features like responsive dashboards. I’m currently exploring Django’s codebase and plan to submit a small documentation patch pre-GSoC. My experience and enthusiasm for improving developer tools equip me to excel in enhancing Django’s admin interface.
Project Goals
- Implement a command palette (Ctrl+Shift+P) for navigation and admin actions.
- Enable fuzzy search for efficient command access (e.g., “user” finds “Go to Users List”).
- Provide comprehensive tests (90% coverage) and documentation for adoption.
- Guarantee accessibility (WAI-ARIA, screen reader support) and usability.
- Ensure extensibility for custom commands via an API/registry.
- Optimize performance and compatibility with Django 5.0+, targeting <5% load time increase.
- Achieve a merged PR with feedback from 5+ community members.
Project Details and Timeline
The command palette will include:
- A UI triggered by Ctrl+Shift+P, with fuzzy search via jQuery and a command registry for actions.
- Integration with admin actions (e.g., navigation, deletes), leveraging Django’s URL resolver.
- Extensibility for custom commands and WAI-ARIA accessibility.
Timeline (12 weeks, 350 hours):
- Weeks 1-2: Study knyghty’s repo, design UI, post draft to Django Forum
- Weeks 3-4: Build back-end command registry and APIs using Django’s admin classes.
- Weeks 5-6: Implement front-end with jQuery, integrate into admin templates.
- Weeks 7-8: Write unit tests for registry, integration tests for UI across browsers.
- Weeks 9-10: Add custom command API, ensure accessibility with NVDA testing.
- Weeks 11-12: Document in docs/topics/admin.txt, refine PR based on mentor feedback.
Why This Matters
This feature will streamline Django admin workflows, meeting a decade-long request (Django Ticket #16521) and mirroring modern tools like VS Code’s palette. It supports Django’s mission to provide a user-friendly, batteries-included framework, with mentor Tom Carrick’s guidance ensuring community alignment.
Why I’m the Right Fit
My Django and front-end skills, honed at Web Surfing Studios building responsive apps, align with this project’s needs. My personal projects, like adding admin filters, reflect my passion for optimizing workflows. I’ve reviewed knyghty’s initial work and the ticket, preparing me to collaborate with Tom Carrick and deliver a high-impact feature for Django’s community.
Links
LinkedIn: https://www.linkedin.com/in/saisirichittineni/
Contact Info
Email: saisirichittineni@gmail.com