Gamification Engine (XP, Levels, Badges)
Overview
A lightweight, open source, modular gamification engine designed to boost user engagement in any Mendix application. Built with scalability in mind, it uses a non-intrusive association architecture, making it compatible with System.user entity. The default user account in Mendix.
Key Features:
- XP & Leveling System: Auto-calculates levels based on configurable XP curves.
- Badge Architecture: Scalable Many-to-Many badge system with default "Beginner" badge included.
- Drag-and-Drop UI: Includes ready-to-use Snippets for User Profiles and Leaderboards.
- Security: Pre-configured Role-Based Access Control for Admins and Users.
Usage: Simply import the module, map the user roles, add ASu_InitializeLevelConfig Microflow to the After Startup field and call SUB_AddXP in your microflows to reward users. Or check the example Microflow ACT_Dev_Add50XP
Version: 1.0.0
Developed by: Mohammed Marzouq
Documentation
Mendix Gamification Module
A plug-and-play Gamification engine for Mendix apps. Features include XP calculation, automated leveling, and a badge system with a non-intrusive User architecture.
A lightweight, scalable Gamification module for Mendix. This module allows developers to quickly integrate user engagement features like Experience Points (XP), Leveling, and Achievements/Badges without modifying their existing User entities.
🚀 Key Features
Flexible XP Engine: Logic to handle XP gains and multi-level jumps.
Level Configuration: Fully data-driven level requirements (Levels 1-50 included).
Badge System: Many-to-Many association architecture for badges and rewards.
Ready-to-use UI: Includes snippets for Profile Cards and Leaderboards.
Easy Integration: Uses an association with System.User to avoid entity inheritance conflicts.
Fully Open-Source: With editable microflows and domain models. Easily customize XP logic and level scaling to fit your specific project needs.
🛠 Installation
Import the module into your Mendix Project.
Map the module security roles (User and Administrator) to your project roles.
Add the ASu_InitializeLevelConfig microflow to your app's After Startup event.
📖 Usage
To reward a user with XP, simply call the SUB_AddXP microflow in your logic:
User: The user receiving points.
Amount: The number of points to add.
Reason: A string describing the action (e.g., "Daily Login").
🤝 Contributing
Contributions, issues, and feature requests are welcome! Feel free to check the issues page (https://github.com/alsharefee/Mendix-Gamification-Module/issues)
📄 License
This project is Apache 2.0 licensed.
👨🏽💻Created by
Mohammed Marzouq
Releases
First release of the Gamification Module.
A lightweight, modular gamification engine designed to boost user engagement in any Mendix application. Built with scalability in mind, it uses a non-intrusive association architecture, making it compatible with System.user User entity. The default user in Mendix.