The goal
Hiren inherited a multi-developer Django dry-fruit e-commerce app with local-vs-prod drift, a customized editable django-notifications-hq, broken macOS notifications and misleading pinning. The goal was a runnable local dev loop, documented prod gotchas, and handover-ready fixes.
The solution
Inherited-code stabilization + documentation. Switched requirements.txt to an editable git install of the customized django-notifications-hq with a macOS path fallback, wrote a bold !!dev_NOTES!!.txt for local-vs-prod gotchas, kept requirements_old.txt for reference, shipped a backup.json fixture for DB baseline.
Highlights
- Inherited prod-critical Django app stabilized for the next developer
- Editable install strategy replaces pinning mismatch between dev and prod
- !!dev_NOTES!!.txt + backup.json fixture = fast onboarding
The challenge
requirements.txt pinned django-notifications-hq==1.8.0 but prod was an editable install with local modifications.
Switched to `-e /absolute/path/to/django-notifications-hq` with commented prod and macOS paths; kept pins in requirements_old.txt for reference.
Notifications signals worked on Ubuntu prod but crashed on macOS dev.
Documented a three-step disable workaround (settings.py / urls.py / templates) as an 'OUTDATED fallback' in !!dev_NOTES!!.txt so the next dev has a path through even if the editable install fails.
Some prod changes are gitignored — blind deploys would clobber the live server.
Loud warning at the top of !!dev_NOTES!!.txt designed to catch the next dev before breaking prod.
Fresh local setup with an empty DB means nothing demoable works.
backup.json is a full Django dumpdata snapshot; loaddata restores a working state.
What was delivered
- requirements.txt with editable django-notifications-hq install
- requirements_old.txt reference of prior pinned state
- backup.json Django fixture for working DB baseline
- !!dev_NOTES!!.txt documenting local-vs-prod gotchas
- data/shipping_rates.json externalized rules
- Stabilized working dev environment
Results
Maintenance + fixes
Scope
notes + reqs + fixture
Handover artifacts
What it taught me
- Inherited projects deserve a brutally honest !!dev_NOTES!! at the top of the repo
- requirements_old.txt alongside requirements.txt is cheap insurance when switching strategies
- A full backup.json fixture beats any seed script for onboarding a stranger into an old Django codebase
