Skip to content

Conventions

Git

Commit Messages

  • testing repo enforces Jira-style commits via commitlint
  • Elsewhere: conventional commit style is preferred (feat:, fix:, chore:, docs:)

Submodule Workflow

Work happens inside submodule directories. After committing there:

bash
# In the pod-portals root, bump the submodule pointer
git add django-api   # or portals / testing / docs
git commit -m "chore: bump django-api to latest"
git push

Backend (Python)

  • Formatter: Black (line length 119)
  • Linter: Flake8
  • Pre-commit: hooks enforce both automatically

Frontend (JavaScript)

  • Formatter: Prettier
  • Linter: ESLint (Airbnb config)
  • Pre-commit: Husky + lint-staged

Testing

  • Selectors: always use data-cy attributes, never CSS classes or text
  • Feature files: one feature per user-facing capability
  • Page objects: one class per screen/page

Test Account Email Domain

All test and seed user accounts use @novavirtual.site as the email domain. This applies to every persona across all environments — local, staging, and CI.

PersonaEmail
Master (superadmin)superadmin@novavirtual.site
Adminadmin@novavirtual.site
Employeeemployee@novavirtual.site
Marketermarketer@novavirtual.site

When adding new test personas, follow the same pattern: <role>@novavirtual.site. Do not use @example.com, @medicalwebexperts.com, or any other domain for test accounts.

Docs

  • All significant architectural decisions, integrations, and gotchas should be documented here as they are discovered
  • Keep pages concise — prefer tables and code blocks over prose paragraphs
  • Update docs in the same commit/PR as the corresponding code change

Nova Home Care — Internal Operational Docs