AndreyandClaude Opus 4.8 6ed2c175ef 🔒 fix(security): rate-limit sensitive auth endpoints (#4)
- DRF ScopedRateThrottle on login (10/min), password-reset request/confirm
  (5/min) and TOTP verify (10/min); rates configurable, disabled under tests
- throttling backed by the Redis cache in production
- test asserts login is rejected with 429 after the limit

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 18:47:17 +03:00
2026-06-17 18:14:16 +03:00
2026-06-17 18:14:16 +03:00
2026-06-17 18:14:16 +03:00
2026-06-17 18:14:16 +03:00
2026-06-17 18:14:16 +03:00
2026-06-17 18:41:41 +03:00
2026-06-17 18:41:41 +03:00
2026-06-17 18:14:16 +03:00
2026-06-17 18:14:16 +03:00

Edevs Hub

Canonical implementation workspace for hub.edevs.tech.

Local start

Copy-Item .env.example .env
.\scripts\start.ps1

The local compose stack contains:

  • Django ASGI backend and background worker;
  • PostgreSQL;
  • Redis;
  • Internal Hub UI;
  • Checkout UI;
  • Web Chat UI;
  • local Nginx reverse proxy.

No production secrets are stored in the repository.

Default local URLs:

  • Internal Hub UI: http://localhost:5173
  • Django admin: http://localhost:8010/admin/
  • Checkout: http://localhost:5174
  • Web Chat: http://localhost:5175
  • Backend API: http://localhost:8010/api/v1

Create or refresh the local OWNER account:

docker compose run --rm backend python manage.py bootstrap_owner --email owner@edevs.tech --password local-owner-password --name "Иван Петров"
Languages
Python 42.1%
TypeScript 25.1%
HTML 15.6%
JavaScript 10.6%
CSS 5.8%
Other 0.7%