How kiruban-raj/taskflow-qa works
TaskFlow QA combines a small multi-tenant task manager with a deliberately layered test architecture. A user signs in through the browser, receives a token, and uses the task page to list, create, update, filter, or delete tasks; the API resolves the tenant from the request host and applies authentication, domain rules, and persistence. The README also identifies unit, contract, component, and browser-journey testing as major product capabilities. Sampled excerpts are partial, so edges for unsampled internals are limited to documented relationships.
Main entry points: main.py HTTP API · transport.py Test Transports · db.py Database · app.js API Client
Components 22
Application API
- HTTP API
app/main.py - Domain Rules
app/rules.py - Authentication
app/auth.py - Database
app/db.py - Data Models
app/models.py - API Schemas
app/schemas.py
Browser UI
- API Client
app/static/app.js - Login UI
app/static/login.js - Task UI
app/static/tasks.js
Tenant Configuration
- Tenant Registry
app/tenants.py - Tenant Files
tenants
Test Layers
- Unit Tests
suites/unit - Contract Tests
suites/contract - Component Tests
suites/component - Journey Tests
suites/journey - OpenAPI Contract
contracts/openapi.yaml
Test Substrate
- Test Transports
libs/testkit/src/testkit/transport.py - Test Fixtures
libs/testkit/src/testkit/fixtures.py - Test Factories
libs/testkit/src/testkit/factories.py - Page Objects
suites/journey/pages.py
Other components
- User
- Browser
Connections 24
- User → Browser: uses
- Browser → Login UI: submits login
- Login UI → API Client: calls
- API Client → HTTP API: HTTP requests
- Task UI → API Client: calls
- HTTP API → Authentication: verifies credentials and tokens
- HTTP API → Domain Rules: applies rules
- HTTP API → Database: reads and writes
- HTTP API → Tenant Registry: resolves tenant
- Tenant Registry → Tenant Files: loads configuration
- Database → Data Models: persists entities
- HTTP API → API Schemas: validates payloads
- Unit Tests → Domain Rules: tests pure rules
- Contract Tests → OpenAPI Contract: checks agreement
- Contract Tests → HTTP API: verifies responses
- Component Tests → HTTP API: tests endpoints
- Component Tests → Database: exercises persistence
- Journey Tests → Page Objects: drives pages
- Page Objects → Browser: controls
- Test Fixtures → Test Transports: builds
- Test Fixtures → Test Factories: provides
- Test Factories → Test Transports: sends setup requests
- Test Transports → HTTP API: in-process or HTTP
- Journey Tests → Test Transports: uses HTTP transport