Scaffolds the CommunityOS monorepo per the implementation plan: 8 brand-neutral product modules (community_theme_base, community_membership, event_qr_ticketing, community_school, community_classifieds, community_benefits, community_interac, community_portal) plus the tncsc_deployment client layer, each with an App-Store-ready manifest, LGPL-3 license, and empty security/data/demo/tests/views scaffolding. Adds deploy/docker-compose.yml (Odoo 19 CE + Postgres 16), CI workflow that installs all modules with --test-enable, and scripts/check_brand_leak.py + check_manifests.py enforcing the no-client-identity-in-product-code and manifest-completeness rules. Verified locally: all 9 modules install clean on a fresh Odoo 19 database, and the brand-leak check correctly fails when a client term is added to a product module and passes once removed. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
{
|
|
'name': 'Community OS - Membership',
|
|
'version': '19.0.1.0.0',
|
|
'category': 'Sales/Members',
|
|
'summary': 'Configurable membership tiers, family grouping, renewals, QR membership card and self-service portal',
|
|
'description': """
|
|
Community OS - Membership
|
|
===========================
|
|
|
|
A fully generic membership engine for community and cultural organizations:
|
|
|
|
* Admin-configurable membership tiers (name, price, period) - never hardcoded
|
|
* Family grouping and auto-generated member IDs (configurable format)
|
|
* Automated renewal reminders, expiry handling, and draft renewal invoices
|
|
* Self-service member portal (status, tier, expiry, renew, download card)
|
|
* QR-coded membership card (PDF) with a public verification endpoint
|
|
|
|
No client names, prices, or branding are hardcoded - everything is a
|
|
configuration record managed by the deployment layer.
|
|
""",
|
|
'author': 'Metatroncube Software Solutions LLP',
|
|
'website': 'https://www.metatroncube.com',
|
|
'license': 'LGPL-3',
|
|
'price': 0.00,
|
|
'currency': 'USD',
|
|
'depends': [
|
|
'contacts',
|
|
'account',
|
|
'portal',
|
|
'website',
|
|
],
|
|
'data': [],
|
|
'demo': [],
|
|
'images': ['static/description/banner.png'],
|
|
'application': True,
|
|
'installable': True,
|
|
}
|