Development Guidelines - pratchaya-maneechot/service-exchange GitHub Wiki

Development Guidelines

Coding Standards

API Design Principles

  • 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 Design Guidelines

  • Event Naming: Past tense verbs (UserRegistered, TaskCreated)
  • Event Structure: Include all necessary data for consumers
  • Idempotency: Events should be idempotent
  • Versioning: Schema evolution strategy

Testing Strategy

Unit Testing

  • Coverage Target: 90% code coverage
  • Framework: Jest (Node.js), pytest (Python)
  • Mocking: External dependencies mocked

Integration Testing

  • Contract Testing: Consumer-driven contracts (Pact)
  • API Testing: Postman/Newman collections
  • Database Testing: Test containers

End-to-End Testing

  • User Journey Testing: Critical business flows
  • Performance Testing: Load and stress testing
  • Security Testing: OWASP security scans

Code Review Process

Review Checklist

  • Code follows style guidelines
  • Adequate test coverage
  • Security considerations addressed
  • Performance implications considered
  • Documentation updated
  • Breaking changes documented
⚠️ **GitHub.com Fallback** ⚠️