MOVGRANTO

Blog

Tag: django

5 posts

5 min read

WebSocket as a signal: driver jobs without polling

The driver app polled for jobs every 30 seconds. Now a WebSocket only signals a change, data comes from the API, and polling stays as a fallback.

6 min read

Offline Country Borders: Shapely vs Reverse Geocoding

Get the country from a GPS point without an API call: 239 Natural Earth borders in memory, a Shapely STRtree and per-diem hours abroad.

5 min read

Django date.today() vs timezone.localdate() bug

date.today() reads the OS timezone, not Django's TIME_ZONE. I replaced 104 calls with timezone.localdate() and added a test that keeps them from coming back.

5 min read

X-Forwarded-For: per-IP rate limit the client controlled

BusiKM per-IP rate limits took the client IP from the first X-Forwarded-For entry, which the client sets. How to count it from the trusted proxy in Django.

8 min read

Read-Only Mode Instead of Account Lockout in SaaS

An expired BusiKM subscription cuts off writes, not access to data. How read-only mode works in Django and what the exception list costs.

← All posts