Skip to content

About

Django REST API for design workflow operations: projects, tasks, assignments, comments, attachments, activity, realtime chat/notifications, PostgreSQL, Redis/Channels, pytest.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

63 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Design Workflow Backend

Django REST API for a design operations platform for projects, tasks, workflow boards, assignments, team workload, comments, activity, attachments, chat, notifications, and realtime collaboration.

This is a production-oriented business backend. It models real operational workflows, authenticated staff access, API filtering, document/report generation, realtime notification plumbing, and testable domain behavior.

What It Shows

  • Backend ownership for a complete internal business application.
  • Django REST API design across related business modules.
  • PostgreSQL data modeling for operational records and audit/history needs.
  • Auth, permissions, SSO subject handling, filters, dashboards, exports, and realtime events.
  • Testable backend code with pytest tooling instead of only manual checks.

Main Modules

  • account
  • design_workflow
  • ws

Key Capabilities

  • Django REST API for design projects, tasks, comments, activity, attachments, workflow status, and users.
  • Realtime collaboration support through Channels, Daphne, Redis, websocket routing, and chat-related endpoints.
  • JWT/session auth, SSO subject support, permission-aware access, django-filter, and django-axes protection.
  • Workflow data model designed for board views, assignment queues, review states, team workload, and task detail pages.
  • pytest stack with async/cov/xdist support for API and websocket-adjacent behavior.

Stack

  • Python, Django 6, Django REST Framework
  • PostgreSQL, django-filter, django-simple-history
  • SimpleJWT, dj-rest-auth, django-axes, CORS
  • Redis, Channels, channels-redis, Daphne, Celery-ready runtime
  • Gunicorn, WhiteNoise, Pillow/OpenCV where media handling is needed
  • pytest, pytest-django, pytest-cov, pytest-asyncio, pytest-xdist

Related Repository

Product Screenshots

Redacted production UI screens powered by this API. Sensitive names, amounts, dates, and records are blurred.

Workflow board

Project list

Local Setup

Create local-only environment variables for Django settings, database, Redis, media/static storage, CORS, and allowed hosts. Do not commit .env files or production credentials.

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python manage.py migrate
uvicorn design_workflow_backend.asgi:application --host 127.0.0.1 --port 8004 --http h11 --ws wsproto --lifespan off

On Windows, activate with .venv\Scripts\activate.

Use this Uvicorn command when testing uploads, matching the container's HTTP and WebSocket transports. Daphne's runserver buffers request bodies before Django processes them and is not suitable for the 10 GiB attachment limit. See upload deployment notes.

Admin static assets

collectstatic generates staticfiles/ from the installed Django packages. WhiteNoise serves compressed, content-hashed URLs using STORAGES["staticfiles"]. The Docker build collects these assets before the app starts; do not bind-mount an older host static directory over them. Nginx forwards /static/ to the app. The legacy checked-in static/ directory is not a static source or output.

After a Django upgrade, rebuild the image and verify the admin stylesheet URLs contain hashes and return HTTP 200. The collected CSS must match the installed Django version, not merely exist on disk.

Tests

python -m pytest
python -m pytest --cov

Portfolio Note

The repository is public for portfolio review. Screenshots are redacted, and sensitive production values are intentionally hidden.

About

Django REST API for design workflow operations: projects, tasks, assignments, comments, attachments, activity, realtime chat/notifications, PostgreSQL, Redis/Channels, pytest.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages