-
RESTful APIs: Standard HTTP methods and status codes
-
Versioning: URL versioning (
/api/v1/users
)
-
Consistent Naming: kebab-case for URLs, camelCase for JSON
-
Error Handling: Standardized error response format
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid input data",
"details": [
{
"field": "email",
"message": "Invalid email format"
}
],
"timestamp": "2024-01-15T10:30:00Z",
"correlationId": "uuid"
}
}
-
Event Naming: Past tense verbs (UserRegistered, TaskCreated)
-
Event Structure: Include all necessary data for consumers
-
Idempotency: Events should be idempotent
-
Versioning: Schema evolution strategy
-
Coverage Target: 90% code coverage
-
Framework: Jest (Node.js), pytest (Python)
-
Mocking: External dependencies mocked
-
Contract Testing: Consumer-driven contracts (Pact)
-
API Testing: Postman/Newman collections
-
Database Testing: Test containers
-
User Journey Testing: Critical business flows
-
Performance Testing: Load and stress testing
-
Security Testing: OWASP security scans