article cover image
المُتطلَّبات غير الوظيفيّة
تطوير الويب والبرمجيات 4 دقائق 0 تعليق 26 مشاهدة
صورة المستخدم يوشع يوسف
يوشع يوسف
تم النشر 2026-07-05 15:42:07 - آخر تحديث 2026-07-05 15:42:07

•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

التعليقات (0)