Developer guide#

For: developers (Python developers extending OpenSPP)

This guide is for developers who want to extend OpenSPP, integrate it with other systems, or contribute to the core platform. It covers the technical architecture, development setup, API integration, and best practices for building on OpenSPP.

Topics covered#

  • Setup: Setting up your development environment for OpenSPP development

  • Architecture: Understanding the system design, module structure, and technical decisions

  • Custom modules: Creating Odoo modules for OpenSPP — the module scaffold, manifest, models, and views

  • Custom program managers: Building custom eligibility, entitlement, cycle, and payment managers

  • Custom change request types: Building complex CR types that go beyond Studio's basic support

  • API V2: Using the official REST API with OAuth 2.0 and consent-based access

  • DCI integration: Implementing Digital Convergence Initiative protocols

  • Security and encryption: PII encryption, key management, and security scanning

  • CEL: Common Expression Language for scoring, eligibility, and dynamic queries

  • Studio: No-code configuration and making modules Studio-aware

  • Audit and versioning: Audit logging, record versioning, and data provenance

  • Contributing: Code style, pre-commit hooks, and pull request workflow