•Performance
o Response Time / Latency
Caching
implementation details: Django-redis, Tanstack Query
Server-side rendering (SSR) and static generation (SSG)
implementation details: Next.js
Optimized images and fonts:
implementation details: Next.js
Database Query to solve N+1 problems
implementation details: Django ORM select_related and prefetch_related
Database Query Efficiency
implementation details: indexing on all foreign keys and fields used in django-filter filters
Bypassing slow SMTP protocols in favor of API-driven email e.g. django-anymail
Paginated Fetches to prevent overwhelming the client interface
o Throughput
async programming
implementation details: async, Celery
Background Processing
implementation details: Celery
Scheduled Tasks
implementation details: Celery
Parallel Processing
o Resource Utilization
Rate Limiting
implementation details: DRF throttling, django-ratelimit
implementation details: Tanstack Query Background Refetch Throttling
implementation details: use-debounce + Tanstack Query Deduplication
Maximum image upload size: 10 MB
size bundle (is monitored with @next/bundle-analyzer)
Reduced Motion
implementation details: Nextjs Support prefers-reduced-motion
Database Timeout
Database Connection Pooling & Timeouts
implementation details: PostgreSQL
Database Transaction Timeout
implementation details: prevent a runaway ORM query from taking down your entire PostgreSQL.
Circuit Breakers (3rd-party APIs)
Task Expiration:
implementation details: If a task gets stuck, it must be killed to free the Celery worker.
o
• Usability
o User Experience (UX)
Implementation details: shadcn/ui
standard keyboard controls
Responsiveness
Implementation details: Tailwind's responsive breakpoints, Bootstrap grid
color palette, dark mode:
Implementation details: Tailwind CSS
Visual Stability
Implementation details: <Suspense>
o User Interface (UI)
Implementation details: Bootstrap CSS components
o Accessibility (a11y)
Good SEO practices
Implementation details: Next.js SEO optimization
Implementation details: <img/> has alt
internationalization (i18n)
o
o Learnability
Common Words
Clear Messages (loading, error, success, empty)
standard formats
Implementation details: timepicker-ui-react, date-fns
universally recognized iconography
Implementation details: Bootstrap icons CSS
Semantic Color Contexts:
Implementation details: Tailwind CSS, Bootstrap CSS
Helper actions
o
• Maintainability
o Developer Experience (DX)
Type Safety
Implementation details: Typescript
Code Quality
Structured Comments
Implementation details: Markdown, Better Comments VS code extension
Naming Conventions
Folder Structure Conventions
Api Documentation:
Implementation details: drf-spectacular
Version Control
Implementation details: Git + GitHub
o Modularity
Implementation details: MVT
Implementation details: Api Layer, Business Logic / Services , Serialization Layer
Implementation details: UI, Logic, Data Fetching
o Observability
Logging
Implementation details: structlog
Monitoring
Implementation details: Flower with Celery
Tracing
Implementation details: Sentry
o Best Practices
URL path versioning
Fat models (custom manager, queryset, validator, constraints, indexes, )
Thin view (services.py, utils.py)
o Testability
Implementation details: pytest-django
Implementation details: Jest, React Testing Library
o Backup
Implementation details: PostgreSQL
o
• Security
o Authentication
Implementation details: JWT with with strict blacklisting, httpOnly cookies to prevent XSS, OAuth 2.0
o Authorization
Implementation details: DRF permissions
o Encryption
Implementation details: HTTPS
o CORS
Implementation details: Django cors headers
o Secure storage of sensitive data e.g. environment variables.
Implementation details: Django environ
Implementation details: Next.js process.env
o Rate Limiting to prevent Denial of Service (DoS) / brute-force attacks
Implementation details: DRF throttling, Django-ratelimit
Implementation details: Django axes, Django ipware
o Data Validation
Implementation details: DRF serializers
Implementation details: sanitization via bleach to prevent injection and type-confusion attacks
Implementation details: Zod, skipZod for large collections.
o
• Scalability
o Horizontal Scaling
• Reliability
o Fault Tolerance / Resilience / Graceful Degradation
Exceptions Handling
Database Transactions, ACID
Retry
Implementation details: Tanstack Query
Implementation details: Celery
Queue Overflow
Implementation details: If the Redis Celery queue grows beyond 5,000 pending tasks, the system must stop accepting new tasks and return HTTP 503 (Service Unavailable) to the client, preventing OOM crashes.
Implementation details: If your api provider goes down, Celery will retry indefinitely and clog the queue. You need a Circuit breaker.
o Stability
Implementation details: Node.js LTS
o
• Compatibility & Portability
o CSS of Browsers
Implementation details: Tailwind CSS
o Modern browser support
Implementation details: Next.js
o
without Functional Requirements, the system is useless
without Non-Functional Requirements, the system is practically unusable