# Modules Introduction

Gamopanda is built from a set of composable **modules**. Each module manages one part of the platform and is available through the dashboard, the [REST API](/api-introduction) and the [MCP Server](/mcp-server). This page explains how the modules fit together and where to start.

---

## How the modules fit together

1. An **Organization** owns one or more **Accounts** (for example, one per app or environment).
2. Each account has **Members**, the end users you want to engage.
3. You set up engagement programmes (**Streaks**, **Challenges** and **Missions**) and attach **Milestones** to them.
4. When a member reaches a milestone, Gamopanda issues a **Reward**, which can be backed by **Coupons**.
5. **Templates**, **Themes** and the **Floating Widget** control how progress is shown to members.
6. **Notifications** and **Webhooks** tell members and your systems what happened.
7. **Logs** and **Progress** records keep a full audit trail.

---

## Core setup

| Module | Purpose |
|---|---|
| [Organization](/organization) | Top-level container for your company, users and billing. |
| [Account](/account) | A workspace inside an organization that holds members and programmes. |
| [Member](/member) | An end user tracked by Gamopanda, identified by your `externalId`. |
| [API Key](/api-key) | Credentials used to call the API and sign access tokens. |

## Engagement programmes

| Module | Purpose |
|---|---|
| [Streak](/streak) | Reward consecutive daily, weekly or monthly activity. |
| [Challenge](/challenge) | One-off or recurring completion targets. |
| [Mission](/mission) | Multi-step goals made of sequential or grouped activities. |
| [Milestone](/milestone) | Reward checkpoints attached to streaks, challenges and missions. |

## Rewards

| Module | Purpose |
|---|---|
| [Reward](/reward) | Rewards issued to members and their lifecycle (issued → redeemed → expired). |
| [Coupon](/coupon) | Coupon code pools used to fulfil rewards. |

## Display and branding

| Module | Purpose |
|---|---|
| [Template](/template) | All copy shown in the End User Display. |
| [Theme](/theme) | Colours, typography and component styles. |
| [Floating Widget](/floating-widget) | Launcher button and panel configuration. |

## Notifications

| Module | Purpose |
|---|---|
| [Notification](/notification) | Rules that send messages when events happen. |
| [Email Header](/email-header), [Email Footer](/email-footer), [Email Template](/email-template), [Email Theme](/email-theme) | Build branded emails. |
| [Push Notification Template](/push-notification-template) | Push message content. |
| [SMS Template](/sms-template) | SMS message content. |
| [WhatsApp Template](/whatsapp-template) | WhatsApp message content. |
| [Gamopanda Email](/gamopanda-email), [AWS SMS](/aws-sms), [AWS WhatsApp](/aws-whatsapp), [Firebase Cloud Messaging](/firebase-cloud-messaging) | Delivery providers. |

## Webhooks

| Module | Purpose |
|---|---|
| [Webhook](/webhook) | Send real-time event notifications to your endpoints. |

## Logs and progress

| Module | Purpose |
|---|---|
| [Event Log](/event-log) | Every activity event received for a member. |
| [Streak Progress](/streak-progress), [Challenge Progress](/challenge-progress), [Mission Progress](/mission-progress) | Each member's current progress. |
| [Streak Log](/streak-log), [Challenge Log](/challenge-log), [Mission Log](/mission-log) | History of progress changes. |
| [Reward Log](/reward-log) | History of reward lifecycle changes. |
| [Notification Log](/notification-log) | Delivery history for notifications. |
| [Webhook Log](/webhook-log) | Delivery history for webhooks. |

---

## Where to start

1. Create your [Organization](/organization) and an [Account](/account).
2. Generate an [API Key](/api-key).
3. Create your first [Streak](/streak) or [Challenge](/challenge) and add [Milestones](/milestone) with [Rewards](/reward).
4. Show progress to users with the [End User Display](/end-user-display-introduction).
