ENGINEERING NOTE / 03
Backend engineering and APIs
My backend work spans ASP.NET Core and Django. The projects below show authentication, persistence, real-time messaging, API design, and operating applications after deployment.
In this note 06 questions
How do you design a useful REST API?
Start with the resources and the operations users need. Use consistent request and response shapes, validate input, communicate errors clearly, and document endpoints with OpenAPI where appropriate.
How should authorization be modeled?
Authentication identifies a user. Authorization decides what that user may do. The pediatric clinic platform uses distinct Doctor, Editor, and Patient roles with role-based access rules.
When is PostgreSQL useful?
PostgreSQL supports relational data, constraints, indexing, and transactional updates. I use it in projects where durable relationships and query behavior matter.
Where does Redis help?
Redis is useful for short-lived cached data and other fast-access workloads. Cache entries need an expiration and invalidation strategy so users do not receive stale results.
How do WebSockets change backend design?
A persistent connection enables live events but also requires connection authentication, routing, disconnection handling, and durable storage when conversation history matters. My private chat project uses Django Channels and PostgreSQL for those needs.
What makes a backend production-ready?
Beyond endpoint behavior, it needs configuration, logging, migrations, backups, HTTPS, deployment checks, and a way to diagnose failures without exposing secrets.