|
1 | 1 | # OpenSPP |
2 | 2 |
|
3 | | -Open-source Social Protection Platform built on [Odoo 19](https://www.odoo.com/). |
| 3 | +[](https://github.com/OpenSPP/OpenSPP2/actions/workflows/ci.yml) |
| 4 | +[](https://github.com/OpenSPP/OpenSPP2/actions/workflows/pre-commit.yml) |
| 5 | +[](LICENSE) |
| 6 | +[](https://www.odoo.com/) |
| 7 | + |
| 8 | +**Open-source Social Protection Platform** for managing beneficiary registries, cash transfer programs, in-kind distribution, and grievance redressal at scale. |
| 9 | + |
| 10 | +Built on [Odoo 19](https://www.odoo.com/) | [Documentation](https://docs.openspp.org) | [Website](https://openspp.org) |
| 11 | + |
| 12 | +--- |
| 13 | + |
| 14 | +## Key Features |
| 15 | + |
| 16 | +- **Social Registry** - Unified beneficiary database for individuals and households with deduplication |
| 17 | +- **Program Management** - Configure eligibility rules, enrollment cycles, and benefit calculations |
| 18 | +- **Cash & In-Kind Transfers** - Manage entitlements with payment integration and inventory tracking |
| 19 | +- **Consent Management** - DPV-aligned consent lifecycle with GDPR-compliant audit trails |
| 20 | +- **Approval Workflows** - Multi-tier approval chains with CEL-based business rules |
| 21 | +- **Change Requests** - Auditable data update workflows with conflict detection |
| 22 | +- **GIS Integration** - Geographic visualization, admin boundary management, HDX integration |
| 23 | +- **Grievance Redressal** - Track and resolve beneficiary complaints through customizable stages |
| 24 | +- **Disaster Response (DRIMS)** - Inventory management for emergency relief distribution |
| 25 | +- **REST API v2** - Standards-aligned API with consent-aware data sharing |
| 26 | +- **DCI Interoperability** - Connect to CRVS, identity systems, and other registries |
| 27 | +- **No-Code Studio** - Configure custom fields, events, and change requests without coding |
| 28 | +- **Audit Trail** - Comprehensive logging with tamper-resistant backends |
4 | 29 |
|
5 | 30 | ## Quick Start |
6 | 31 |
|
7 | 32 | ```bash |
8 | | -# Clone this repository |
9 | 33 | git clone https://github.com/OpenSPP/OpenSPP2.git |
10 | 34 | cd OpenSPP2 |
11 | | - |
12 | | -# Start with Docker Compose |
13 | 35 | docker compose --profile ui up -d |
| 36 | +``` |
| 37 | + |
| 38 | +Access at **http://localhost:8069** (login: `admin` / password: `admin`) |
| 39 | + |
| 40 | +### Demo Options |
| 41 | + |
| 42 | +| Demo | Command | Description | |
| 43 | +|------|---------|-------------| |
| 44 | +| **SP-MIS** | `ODOO_INIT_MODULES=spp_mis_demo_v2 docker compose --profile ui up -d` | Full social protection MIS with sample programs | |
| 45 | +| **DRIMS** | `ODOO_INIT_MODULES=spp_drims_sl_demo docker compose --profile ui up -d` | Disaster relief inventory (Sri Lanka config) | |
| 46 | +| **Social Registry** | `ODOO_INIT_MODULES=spp_starter_social_registry docker compose --profile ui up -d` | Social registry only | |
| 47 | + |
| 48 | +### Reset Database |
14 | 49 |
|
15 | | -# Access at http://localhost:8069 (admin/admin) |
| 50 | +```bash |
| 51 | +docker compose --profile ui down -v |
16 | 52 | ``` |
17 | 53 |
|
| 54 | +## Architecture |
| 55 | + |
| 56 | +OpenSPP follows a layered architecture: |
| 57 | + |
| 58 | +| Layer | Modules | Purpose | |
| 59 | +|-------|---------|---------| |
| 60 | +| **Foundation** | `spp_registry`, `spp_security`, `spp_area` | Core data models and security | |
| 61 | +| **Capabilities** | `spp_programs`, `spp_approval`, `spp_change_request_v2` | Business logic and workflows | |
| 62 | +| **Integration** | `spp_api_v2`, `spp_dci_*` | External system connectivity | |
| 63 | +| **Extensions** | `spp_drims`, `spp_grm`, `spp_gis` | Domain-specific features | |
| 64 | + |
| 65 | +## Documentation |
| 66 | + |
| 67 | +- **[Getting Started Guide](https://docs.openspp.org/getting-started/)** |
| 68 | +- **[Module Reference](https://docs.openspp.org/modules/)** |
| 69 | +- **[API Documentation](https://docs.openspp.org/api/)** |
| 70 | +- **[Developer Guide](https://docs.openspp.org/development/)** |
| 71 | + |
18 | 72 | ## External Dependencies |
19 | 73 |
|
20 | | -This repository requires additional OCA and third-party modules. |
21 | | -See [EXTERNAL_DEPENDENCIES.md](EXTERNAL_DEPENDENCIES.md) for details. |
22 | | -The Docker setup handles these automatically. |
| 74 | +OpenSPP requires OCA and third-party modules listed in [EXTERNAL_DEPENDENCIES.md](EXTERNAL_DEPENDENCIES.md). |
| 75 | +The Docker setup fetches these automatically. |
23 | 76 |
|
24 | 77 | ## Available addons |
25 | 78 |
|
@@ -99,6 +152,19 @@ addon | version | maintainers | summary |
99 | 152 |
|
100 | 153 | [//]: # (end addons) |
101 | 154 |
|
| 155 | +## Contributing |
| 156 | + |
| 157 | +We welcome contributions! Please see our [Contributing Guide](https://docs.openspp.org/contributing/) for details. |
| 158 | + |
| 159 | +- **Report bugs** - [Open an issue](https://github.com/OpenSPP/OpenSPP2/issues/new) |
| 160 | +- **Request features** - [Start a discussion](https://github.com/OpenSPP/OpenSPP2/discussions) |
| 161 | +- **Submit PRs** - Fork, branch, and open a pull request |
| 162 | + |
| 163 | +## Acknowledgments |
| 164 | + |
| 165 | +OpenSPP includes code originally developed by the [OpenG2P](https://openg2p.org/) project. We thank all contributors to both projects. |
| 166 | +See [CONTRIBUTORS.md](CONTRIBUTORS.md) for the full list. |
| 167 | + |
102 | 168 | ## License |
103 | 169 |
|
104 | | -LGPL-3. See [LICENSE](LICENSE) for details. |
| 170 | +[LGPL-3.0](LICENSE) - This is free and open-source software. |
0 commit comments