Go to file
2026-06-14 10:33:33 +07:00
controllers feat: replace carousel link URL with rich text body content and update UI views 2026-06-14 09:35:59 +07:00
models refactor: use non-stored computed fields with inverse handlers for company coordinates to prevent DB schema conflicts 2026-06-14 10:33:33 +07:00
security feat: implement CMS modules for carousel, promos, and app config, and enable HTML support for push notifications. 2026-06-14 09:09:57 +07:00
static/description feat: Add app notification history views and module icon. 2026-03-26 08:29:51 +07:00
views feat: add latitude and longitude fields to company profile for geolocation support 2026-06-14 10:10:47 +07:00
wizard feat: implement CMS modules for carousel, promos, and app config, and enable HTML support for push notifications. 2026-06-14 09:09:57 +07:00
__init__.py first commit 2026-03-21 15:21:52 +07:00
__manifest__.py refactor: define coordinates directly on res.company to remove base_geolocalize dependency 2026-06-14 10:27:10 +07:00
.gitignore docs: Add README and gitignore files, and update module author in manifest. 2026-03-21 15:25:56 +07:00
README.md docs: Add README and gitignore files, and update module author in manifest. 2026-03-21 15:25:56 +07:00

Mapan Loyalty Push Notifications

This Odoo 19 module acts as the backend engine for the Flutter Mobile Loyalty App's Notification System. It supports a highly effective, Firebase-free Background Fetch and In-App Notification Center mechanic directly inside your Odoo database.

Features

  • App Notifications Model (mapan.app.notification): Persistently stores historical promotional messages sent out to customers.
  • Marketing Mobile Wizard: A clean, accessible user interface to draft targeted push notifications to explicitly selected customers (or blast them out globally).
  • Public Fetch API (/api/loyalty/fetch_notifications): A secure JSON endpoint specifically designed for the Mobile App's background task to efficiently query unread promos while the phone is sleeping.

Architecture

Instead of actively pushing out network payloads to smartphones (which requires rigid Google Cloud keys), this module acts as a "Billboard". The customer's Android app uses OS-level background workers to silently wake up every 15 minutes, interrogating this Odoo API to see if new promos exist, and triggering native local notifications entirely on the device.

Usage

Simply install the module. No external APIs or JSON keys are required! You can find the marketing wizard menu under Custom > Mobile App Push.